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 :

Requête PHP MySQL


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2013
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2013
    Messages : 26
    Par défaut Requête PHP MySQL
    Bonjour,
    j'ai un soucis auquel je n'arrive pas à résoudre ...
    je vous présente le tableau (enfin les tableaux !)

    requête sql + résultat dans phpmyadmin (BDD de dolibarr car je développe une application) :
    Nom : requete_forum_dolibarr.png
Affichages : 88
Taille : 39,0 Ko

    le code html/php :
    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
    <?PHP
    $requete_client = "
    	SELECT 
    		llx_user.login AS login, 
    		llx_user.lastname AS lastname_tech, 
    		llx_user.firstname AS firstname_tech, 
    		llx_user.office_phone AS officephone_tech, 
    		llx_user.email AS email_tech, 
    		llx_user.rowid AS rowid_tech, 
    		llx_societe.nom AS nom_client, 
    		llx_societe.rowid AS rowid_client_societe, 
    		llx_socpeople.fk_user_creat AS fkusercreat, 
    		llx_socpeople.rowid AS rowid_client 
    	FROM llx_user 
    	INNER JOIN llx_socpeople
    		ON llx_user.rowid = llx_socpeople.fk_user_creat 
    	INNER JOIN llx_societe
    		ON llx_societe.rowid = llx_socpeople.fk_soc
    	WHERE llx_user.login='".$login."' 
    	ORDER BY llx_socpeople.rowid ASC ";	
     
    // on detecte si il y'a pas d'erreur
    $client = mysql_query($requete_client) or die('Erreur SQL !<br />'.$requete_client.'<br />'.mysql_error()); 
    // on regarde les valeurs dans la table	
    $client_nb = mysql_num_rows($client);
    if ($client_nb == 0) {
    	echo 'Aucun technicien enregistré.<br/>';
    	// on renvoie les champs remplis
    } else {
    	$resultat = mysql_fetch_array($client);
    ?>
    <table class="noborder" width="100%">
    <tbody>
    	<tr class="liste_titre">
    		<th class="liste_titre" colspan="2">Liste des clients</th>
    	</tr>
    <?PHP
    	while ($resultatwhile = mysql_fetch_array($client)) {
    		echo '<tr class="pair">';
    		echo '<td class="nowrap"><a href="fiche_client.php?client=ok&id='.htmlentities($resultatwhile['rowid_client_societe']).'">'.htmlentities($resultatwhile['nom_client']).'</a>' . '</td>';	
    		echo '</tr>';
    	}
    	mysql_free_result($client);
    ?>
    </tbody>
    </table>
    <?PHP
    }
    ?>
    et voici le résultat :
    Nom : resultat_forum_dolibarr.png
Affichages : 94
Taille : 8,0 Ko

    il manquerait pas une petite ligne

    voici je pense que vous avez tous les éléments pour pouvoir m'aider !

    merci, cordialement

  2. #2
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 323
    Par défaut
    Bonjour, oui il te manque la première ligne

    ligne 34 tu fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $resultat = mysql_fetch_array($client);
    puis ligne 42 tu boucles pour affichage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while ($resultatwhile = mysql_fetch_array($client)) {
    et pourquoi le fetch() ligne 34 ? pour oublier la 1ere ligne

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2013
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2013
    Messages : 26
    Par défaut
    Je pense qu'il faudrait dissocier ma requête car j'ai un bout de code entre le while et le précédent mysql_fetch_array.

  4. #4
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 323
    Par défaut
    ?
    tu vires tout simplement ton fetch() ligne 34

  5. #5
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 418
    Par défaut
    Oui et en plus tu ne t'en sert pas de cette variable $resultat de la ligne 34. Comme dit papajoker ça sert donc juste à faire bugger ton script et du coup le mysql_fetch_array suivant lit la seconde ligne de tes résultats...

    Au passage tu devrais protéger la variable login dans ta requête avec la fonction dédiée mysql_real_escape_string... sinon c'est la porte ouverte aux injections sql.

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2013
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2013
    Messages : 26
    Par défaut
    Bonjour,merci pour le tuto d'injection sql
    Le problème c'est que j'ai du code qui li la requête entre les 2 mysql_fetch_array (entre ligne 34 et 42) ... Donc j'ai plus de données entre cette plage mais mon tableau s'affiche correctement après la ligne 42 ...

Discussions similaires

  1. Problème pour construire une requête PHP/MySql
    Par Lionel_aw dans le forum Langage
    Réponses: 11
    Dernier message: 22/02/2012, 11h51
  2. [PHP 4] problème requête php mysql
    Par webduweb dans le forum Langage
    Réponses: 6
    Dernier message: 16/02/2012, 11h27
  3. comment créer un array js à partir d'une requête PHP Mysql
    Par tavarlindar dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 17/08/2008, 23h29
  4. [AJAX] InlineMod - Ajax - Requêtes PHP-MySQL
    Par funkyy dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 09/04/2008, 17h17
  5. [MySQL] pb de requête php /mysql
    Par digger dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 10/05/2007, 09h37

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