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 :

Identifiant non correspondant


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Par défaut Identifiant non correspondant
    bonjour,
    voila, j ai écrit ce code pour qu'il retourne une série dans mon tableau mais je me suis rendu compte que a chaque page que j utiliser ce code il retourne les même valeur.plutôt que de retourner la valeur correspondante de chaque page.
    j ai fait un écho et vu que le $serie au début retourner toujours 1 donc cela viens de la mais je ne sais pas pourquoi.
    voici le code:
    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
    <?php
    include("../../../include/session.php");
     
    //récupère tous les enregistrements
    $description = "";
    $keywords = "";
    $subject = "";
    $title = "";
    $fakea = "";
    $menu = true;
    $body = '';
     
    $liste_ref = mysql_query('SELECT * FROM typserie');
     
    $serie = mysql_fetch_array($liste_ref) ;
     echo $serie;
    $sql = ('SELECT nom_serie FROM serie INNER JOIN associer ON id_serie = serie_ref WHERE typ_serie_id = '.$serie['id_type']);
     
    $bdd -> sendQuery($sql);
    $req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
    $res = mysql_num_rows($req);
    if($res) {
        // debut du tableau
         // première ligne on affiche les titres prénom et surnom dans 2 colonnes
    	$body = '<h3>Liste des Series de brother en ruban</h3><center><table bgcolor="#FFFFFF"></br>
    			<tr>
           <td bgcolor="#669999">Reference des séries</td>
    
          </tr></br>';
     
        // lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne.    
     
        while($row = mysql_fetch_array($req)) {
    	$body .= '<tr>
    		<td bgcolor="#CCCCCC"><a href="'.strtolower($row['nom_serie']).'">'.$row['nom_serie'].'</a></td>
    
     		</tr></br>';
        }
     
    	$body .= '</table></center></br>';
        // fin du tableau.
    }
    else echo 'Pas d\'enregistrements dans cette table...';
     
    // on libère le résultat
    mysql_free_result($req);
     
     
     
    include("../../../include/base.php");
    ?>

  2. #2
    Membre chevronné
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    397
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 397
    Par défaut
    Salut,

    Citation Envoyé par kate59 Voir le message
    bonjour,
    j ai fait un écho et vu que le $serie au début retourner toujours 1 donc cela viens de la mais je ne sais pas pourquoi.
    tu fais :
    $serie étant un array (un tableau) tu ne risques pas d'avoir le retour attendu en faisant un echo.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    print_r($serie); 
    //ou
    var_dump($serie);
    Pour afficher un tableau (pour le debug )

  3. #3
    Membre éprouvé
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Par défaut
    merci pour ta réponse,
    voila j ai tester avec ce que tu m a dit et cela ma donner ceci:

    Array ( [0] => 1 [id_type] => 1 [1] => Jet d'encre [designation_type] => Jet d'encre )

    mais je ne comprend toujours pas pourquoi il me prend jet d'encre:voici ma base de donne si tu veux voir:
    merci de ton aide.

  4. #4
    Membre émérite Avatar de |PaRa-BoL
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 738
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $liste_ref = mysql_query('SELECT * FROM typserie');
     
    $serie = mysql_fetch_array($liste_ref) ;
    Il y a un truc pas normal.

    Tu ne boucles pas sur ce fetch_array, par conséquent seul la première ligne sera traité. Si c'est ce que tu veux n'oublie pas le "LIMIT 1" à la fin de ta requête.

    Donc :

    Jet d'encre correspond surement au première enregistrement de ta table.

    (Utilise mysql_fetch_assoc pour plus de clarté et encadre tes print_r par des <pre></pre> pour plus de lisibilité.)

  5. #5
    Membre éprouvé
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Par défaut
    voila j ai fait ce que tu m a dit mais je ne trouve toujours pas l erreur a tu trouver une erreur dans la base peut etre... voici la base.

    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
    <?php
    include("../../../include/session.php");
     
    //récupère tous les enregistrements
    $description = "";
    $keywords = "";
    $subject = "";
    $title = "";
    $fakea = "";
    $menu = true;
    $body = '';
     
    $liste_ref = mysql_query('SELECT * FROM typserie LIMIT 1');
    $serie = mysql_fetch_assoc($liste_ref) ;
     print_r($serie); 
    $sql = ('SELECT nom_serie FROM serie INNER JOIN associer ON id_serie = serie_ref WHERE typ_serie_id = '.$serie['id_type']);
     
    $bdd -> sendQuery($sql);
    $req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
    $res = mysql_num_rows($req);
    if($res) {
        // debut du tableau
         // première ligne on affiche les titres prénom et surnom dans 2 colonnes
    	$body = '<h3>Liste des Series de brother en ruban</h3><center><table bgcolor="#FFFFFF"></br>
    			<tr>
         
     
          </tr><tr><td bgcolor= #669999>';
     
        // lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne.    
     
        $ligne = 0;	
     
      $body .= '   <table>'."\n";	
     
      while($row = mysql_fetch_array($req))
      {
     
        $body .= "    <tr>\n     <td  >\n      "
         .'<a href="'.strtolower($row['nom_serie']).'">'.$row['nom_serie'].'</a>'
         ."\n     </td>\n    </tr>\n";
     
        $ligne++;
     
        if ($ligne === 3)
        {
          $body .= "   </table>\n  </td>\n  <td "
           .'valign="top" bgcolor="#669999">'."\n   ".'<table>'."\n";
     
          $ligne = 0;
        } 	
     
      }
     
      $body .= "   </table>\n  </td>\n </tr>\n</table></center></br>";
      // fin du tableau.
    }
    else echo 'Pas d\'enregistrements dans cette table...';
     
    // on libère le résultat
    mysql_free_result($req);
     
     
     
    include("../../../include/base.php");
    ?>
    cela donne ceci donc:
    Array ( [id_type] => 1 [designation_type] => Jet d'encre )

  6. #6
    Membre émérite Avatar de |PaRa-BoL
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 738
    Par défaut
    Oui mais la tu sélectionnes uniquement la première entré....C'est une erreur de logique. Reparcoure ton code ligne par ligne et regarde bien ce qu'il fait. Tu comprendras (et apprendra) très vite.

    Si tu veux une serie en particulier, tu n'a même pas besoin de la première requete. Il te suffit de passer à ta deuxième requête l'id correspondant. (Je suppose transmis en GET)

Discussions similaires

  1. Cas spécial de requête de non-correspondance
    Par Floch dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 21/06/2006, 12h19
  2. Requete de non-correspondance
    Par nassu dans le forum Access
    Réponses: 2
    Dernier message: 10/05/2006, 19h28
  3. Extraction de doublons et non correspondance
    Par banker dans le forum Access
    Réponses: 2
    Dernier message: 31/01/2006, 08h52
  4. Réponses: 12
    Dernier message: 26/08/2005, 10h02
  5. [FLASH MX] Erreur : L'identifiant non sensible à ...
    Par blowdesign dans le forum Flash
    Réponses: 2
    Dernier message: 16/05/2004, 21h10

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