IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Afficher ou non selon résultat d'une requête SQL


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2019
    Messages : 2
    Par défaut Afficher ou non selon résultat d'une requête SQL
    Bonjour, je dois créer un site web pour l'école.
    Je bloque sur un point :
    J'ai créé une page qui se nomme Série, et qui affiche le nom de mes séries rentrées dans ma base de données. Sur le nom de ces séries, j'ai incrusté un lien qui m'emmène vers page=resume&idSerie=nomdemaserie.
    Sur cette page, je souhaite donc afficher le résumé et le nom de ma série selon la série sur laquelle j'ai cliqué à ma page précédente.
    Cependant, rien de ne s'affiche à part les colonnes de mon tableau.

    Voici la requête SQL que j'ai tapé :
    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
     
    $idSerie=(isset($_GET['idSerie'])?$_GET['idSerie']:'') ;
    $liste_resultat=mysqli_query($mysqli, '
     
     
    	SELECT NomSerie AS Série, Resume AS Résumé
    	FROM series WHERE idSerie="'.$idSerie.'"
    	ORDER BY NomSerie') or die('<p>Echec lors de la consultation : (' . $mysqli->errno . ') ' . $mysqli->error.'</p>') ;
     
     
    	$mysqli->close();
     
    	$html='
    			<table>
    								<tr>
    					<th>Série</th>
    					<th>Résumé</th>
     
    								</tr>' ;
     
     
    	/* boucle qui affiche les ligne du tableau*/
    	while($ligne=$liste_resultat->fetch_assoc())		
     
    	{
     
    		$html.='
     
    				<tr>
    							<td>'.$ligne['Série'].'</td>
    							<td>'.$ligne['Résumé'].'</td>
     
    				</tr>' ;
    	}	
    mysqli_free_result($liste_resultat);
    	$html.='
    			</table>' ;
    On peut voir que dans ma requête, j'ai bien affiché conditionné mon résultat selon l'idSerie de la page où je suis grâce au $_GET. Mais comme je l'ai dis, celle-ci ne m'affiche rien.
    Et lorsque j'enlève ma condition WHERE idSerie="'.$idSerie.'", le résumé et nom de toutes mes séries s'affiche. Cela veut donc dire que la récupération d'infos vers ma base de données et bonne.
    Et autre point, lorsque je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <p> <?php echo $idSerie; ?> </p>
    Cela m'affiche bien mon fameux idSerie sur lequel j'ai cliqué.

    Mon $_GET et correct, ainsi que la récupération des infos de ma base de données.
    Où vient le problème ? Sachant qu'aucune erreur de syntaxe n'est mentionnée..
    Merci !

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    1-
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	SELECT NomSerie AS Série, Resume AS Résumé
    Quel intérêt de renommer les colonnes avec des alias ??

    2-
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	FROM series WHERE idSerie="'.$idSerie.'"
    il faut IMPERATIVEMENT utiliser une requête préparée, ou au minimum mysqli_real_escape_string() !

    3-
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $liste_resultat=mysqli_query($mysqli, '...
     
    	ORDER BY NomSerie') or die('<p>Echec lors de la consultation : (' . $mysqli->errno . ') ' . $mysqli->error.'</p>') ;
     
    	$mysqli->close();
    Tu mélanges les syntaxes "procédurale" et "orienté objet".
    C'est l'une ou l'autre.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $liste_resultat = $mysqli->query('

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2019
    Messages : 2
    Par défaut
    Bonjour et merci de ta réponse !
    1- Il est vrai que c'est inutile car je souhaite les afficher dans un tableau, où j'ai déjà nommé les colonnes de celui-ci.

    2- J'ai essayé de rajouter le mysqli_real_escape_string() mais ça ne m'affiche toujours rien.. As-tu un exemple simple à me donner ? Je ne sais pas si j'ai réellement compris sur ce lien php.net.

    Je viens de tester un echo $liste_resultat et j'obtiens une erreur "Object of class mysqli_result could not be converted to string in ". J'ai bien l'impression que ça a un rapport avec le point 2..

Discussions similaires

  1. Réponses: 1
    Dernier message: 12/12/2011, 10h07
  2. Réponses: 4
    Dernier message: 02/04/2010, 14h39
  3. Comment afficher le rang des résultats d'une requête sous Access 2002
    Par painpepper dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 15/08/2007, 01h19
  4. Réponses: 13
    Dernier message: 26/07/2007, 08h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo