Bonjour,

Je suis super novice (BTS SIO SLAM commencé en septembre en reconversion professionnelle) mais j'essaie au max de me débrouiller avec tout ce que je trouve.
Par contre, là ça fait 4 jours que j'essaie tout et n'importe quoi sans trouver réponse à ma question.
Si vous pouviez m'aider à y voir + clair ce serait sympa (on a qq profs qui préfèrent nous conseiller des tutos...)

Je tente désespérément d'ajouter des conditions à mon code requête SQL qui fonctionne sur my SQL (WAMP) mais dont je n'arrive pas à récupérer la valeur sur PHP.
à chaque fois, le code ignore l'étape et je suis bloquée : mon résultat s'arrête à $query_pc_exist (j'ai l'impression qu'il ne matche pas les 2 et pourtant, j'ai essayé un count, un print et tout ce que j'ai pu trouver sur le net mais rien n'a marché. Je suis sûre que c'est une bêtise mais je suis incapable d'y voir clair...)
Merci d'avance pour vos lumières

Coralie


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
<!DOCTYPE html>
<html lang="en">
	<head>
        <meta charset="utf-8">
		<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
		<link rel="stylesheet" href="style.css" />
		<title>Gestion des pc_portables - Groupe GEFOR</title>
	</head>
 
	<header>
    <img id="logo" src="images/logoG.png"alt="logoG"/>
	</header>
 
    <body>
	<h1>Gestion des pc portables</h1>
		<?php
 
		//Déclaration des variables de la base (pour réutilisation)
		$serveur = "localhost";
    	$dbname = "gestionpanne";
    	$user = "root";
    	$pass = "";
 
		// connexion à la base
		try{
			$dbco = new PDO("mysql:host=$serveur;dbname=$dbname",$user,$pass, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
 
			// Afficher la liste des ordinateurs
			$queryordi = $dbco->prepare("SELECT * FROM pc_portable");
			$queryordi->execute();
			$resultat = $queryordi->fetchAll();
 
 
			// table met en place la table ordinateur mise en forme dans le css
			?> <table>
				<caption>Liste des ordinateurs</caption>
				<thead>
					<tr>
						<th>Numéro de série</th>
						<th>Marque</th>
						<th>Date d'acquisition</th>
						<th>Durée de garantie</th>
						<th>Disponible</th>
						<th>Date d'attribution</th>
						<th>Date de restitution</th>
					</tr>
				</thead>
			<?php
 
			// foreach permet de parcourir le tableau pour extraire le résultat dans une variable déclarée à la volée ($donnee) en tant qu'alias sans les informations brutes du code SQL
			foreach ($resultat as $donnee){
				print("<tr><td>" . $donnee["Pc_Portable_Numero_Serie"]. "</td><td>". $donnee["Pc_Portable_Marque"]. "</td><td>". $donnee["Pc_Portable_Date_acquisition"]. "</td><td>". $donnee["Pc_Portable_Duree_garantie_mois"]. "</td><td>". $donnee["Pc_Portable_Statut_Disponible"]. "</td><td>". $donnee["Pc_Portable_Date_attribution"]. "</td><td>". $donnee["Pc_Portable_Date_restitution"].  "</td></tr>");
				}
		}
		// report des erreurs		
		catch(PDOException $e){
        echo 'Impossible de traiter les données. Erreur : '.$e->getMessage();
		}?>
			</table>	
 
			<!--Commentaire HTML section formulaire pour l'entrée du numéro de portable-->
			<h2>Recherche sur un ordinateur</h2>
 
			<form action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" method="post">
				<p>
				<label for="Pc_Portable_Numero_Serie">Numéro de série du pc portable</label>
				<input type="text" name="Pc_Portable_Numero_Serie"/>
				<p>
				<p>
				<input type="submit" name="Logiciels" value="Liste des logiciels">
				</p>
			</form>
			<!--Début seconde partie pour affichage des requêtes dans la même page : ergonomie d'utilisation-->
			<?php
		try{	
			// On récupère les valeurs du formulaire si l'utilisateur a cliqué sur le bouton liste des logiciels
			if (isset($_POST['Logiciels'])){
			// Définition des variables nécessaires
				$Pc_Portable_Numero_Serie = $_POST["Pc_Portable_Numero_Serie"]; //variable prend la valeur entrée dans le formulaire
 
 
 
				$query_pc_exist = $dbco->prepare("SELECT Pc_Portable_Numero_Serie FROM pc_portable WHERE Pc_Portable_Numero_Serie LIKE '$Pc_Portable_Numero_Serie'"); // variable = le pc existe dans la bdd
				$query_pc_exist->execute();
				$rquery_pc_exist = $query_pc_exist->fetch();
 
 
 
				$query_pc_logi = $dbco->prepare("SELECT installation_logiciel_pcportable.Pc_Portable_Numero_Serie FROM installation_logiciel_pcportable WHERE installation_logiciel_pcportable.Pc_Portable_Numero_Serie LIKE '$Pc_Portable_Numero_Serie'"); // variable = le pc existe dans la table des installation de logiciels
				$query_pc_logi->execute();
				$querylogi = $dbco->prepare("SELECT Logiciel_Numero_Serie FROM Installation_Logiciel_PcPortable WHERE Pc_Portable_Numero_Serie = '$Pc_Portable_Numero_Serie'"); // variable = stocke le résultat de la liste des logiciels sur l'ordinateur saisi dans le formulaire
				$querylogi->execute();	
				$rquery_pc_logi = $querylogi->fetchAll();
				// Affichage de la liste des logiciels sur l'ordinateur saisi dans le formulaire
				// Si ma recherche est vide (et qu'on a cliqué sur logiciel cf + haut)
					if(empty($Pc_Portable_Numero_Serie)){
						echo 'Veuillez saisir un numéro de série de pc portable';
					}
					// Si le pc recherché n'existe pas dans la bdd
					elseif(!$rquery_pc_exist <>""){
						echo 'Ce pc est inconnu de la base';
					}
					// Si le pc existe dans la bdd mais qu'il n'y a jamais eu d'installation de logiciel
					elseif($query_pc_logi <>""){
						echo 'Ce pc ne contient pas de logiciel';
					}