$id=$_GET['id']; ???

Bonjour,
Bon, je me pose une question basique, je suis malade et n'arrive plus a réfléchir correctement.

Dites moi, la syntaxe ci-dessous, doit bien conserver tous les champs du $select de la page appelante où non ?
J'ai un très gros doute à présent. Autrement dit, il devrait contenir l'entrée complète de la table où je me trompe ?

$id=$_GET['id'];


Merci de m'oter ce doute.

Le bonheur est la seule chose que l'on peut donner sans l'avoir.
Configuration: Windows XP
Firefox 3.0.1

2 réponses

  • Votes
  • Date
  • Date décroissante
  1. Salut, si je crois bien avoir compris, tu te demande si lorque tu envois un select,
    $id = $_GET['id']
    contiendra toute les donnée du select ou seulement ce qui était selectionné ?

    Ben je te répond, ça dépend comment tu a 'programmé' ton select (id et name).
    Mais normalement, $id est égale à l'élément qui était selectionné dans le select .

    A+

    Gaerebut
    1. Contributeur
      Salut garerebut et merci pour ta réponse rapide,
      Mon select est celui-ci (dans une page):

      $req = 'select Lettre, Prenom, Origine, Ephemeride, FrenchName FROM prenomsfeminins ORDER BY id ASC limit '.$limite.','.$nombre;


      Et dans la page appelée j'ai ceci:
      $id = $_GET['id'];

      D'où ma question ! (visible http://txiki.free.fr) Prénoms/Prénoms basques puis prénoms féminins.

      Merci encore !

      Le bonheur est la seule chose que l'on peut donner sans l'avoir.
  2. Re,

    hAaa t'es encore coincé avec tes prénoms basques !? LOL

    Donc,

    je comprend pas ce que tu veux faire en fait !

    Tu as cette requête sur un page, puis tu dois envoyer l'id vers la page appellé (method GET) et tu le récupère comme tu fais là.

    Mais comment envois-tu l'id ?

    C'est quoi le rapport avec ton select ?

    A+

    Gaerebut
    1. Contributeur
      Merci Gaerebut,

      Je veux pouvoir afficher les 25 premiers prénoms dans la page Liste_PrenomsF Fr.php (à priori ça ça fonctionne) puis en cliquant sur 1 prénom de cette liste, afficher le texte de son origine, le jour où il est fêté (s'il existe) et son équivalent français (s'il existe aussi) dans la page Fiche_Prenom Fr.php.

      Mais comment envois-tu l'id ?
      Excellente question ! c'est ça mon Pb !

      La page Liste:
      <?  
      //==================================================================================
      // Affichage de la liste par 25 prénoms par pages
      // includes du fichier fonctions séparé pour les vérifs des limites et Nb de pages
      //==================================================================================
      
      require 'fonctions.php';
      
      //=========================================
      // information pour la connection à le DB
      //=========================================
      $host = 'localhost';
      $user = '******';
      $pass = '******';
      $db = 'txiki';
      //=========================================
      // initialisation des variables 
      //=========================================
      $nombre = 25;  // on va afficher 25 résultats par page.
      
      // si la limite a été passée par un lien, on la prend en compte. 
      // Sinon, si elle a été passée par le bouton, on la prend en compte. 
      // Dans tous les autres cas, elle vaut 0.
      
      if (isset($_GET["limite"]))
          $limite = $_GET["limite"];
      elseif (isset($_POST["limite"]))
          $limite = $_POST["limite"];
      else
          $limite = 0;
      $path_parts = pathinfo($_SERVER['PHP_SELF']);  // on cherche le nom de la page.
      
      $page = $path_parts["basename"];
      
      //======================
      // connection à la DB
      //======================
      $link = mysql_pconnect ($host,$user,$pass) or die ('Erreur : '.mysql_error() ); // connection à la base
      mysql_select_db($db) or die ('Impossible de se connecter à la base'); // sélection de la table
      
      //==========================================================================    
      // requête SQL qui compte le nombre total d'enregistrements dans la table.
      //==========================================================================
      $select = 'SELECT count(id) FROM prenomsfeminins'; //connexion a la table
      $result = mysql_query($select,$link)  or die ('Erreur : '.mysql_error() );
      $row = mysql_fetch_row($result);
      $total = $row[0];
      
      //===================================================
      // vérifier la validité de notre variable $limite;
      //===================================================
      $verifLimite = verifLimite($limite,$total,$nombre);
      
      // si la limite passée n'est pas valide on la remet à zéro
      if(!$verifLimite)  {
          $limite = 0;
      }
      
      //=====================================================================================
      // requête SQL qui ne prend que le nombre d'enregistrement necessaire à l'affichage.
      //=====================================================================================
      $req = 'select Lettre, Prenom, Origine, Ephemeride, FrenchName FROM prenomsfeminins ORDER BY id ASC limit '.$limite.','.$nombre;
      $result = mysql_query($req)  or die ('Erreur : '.mysql_error() );
      
      //=============================================    
      // si on a récupéré un resultat on l'affiche.
      //=============================================
      if($total) {
        echo "<table bgcolor='#FFFFFF' cellspacing='0' cellpadding='0' align='center'>\n";
      // première ligne on affiche l'alphabet/lien (c'est faut pour le moment ! mais si je trouve comment afficher la fiche, je trouverai, je pense)
              echo "<tr bgcolor='#EFEFEF' text-align='center' padding='3px'>";
              echo "<td><a href='Liste_PrenomsF?Lettre=".$row["Lettre"]."'>A </a>";
      		echo "</td>";
      		echo "<td>&nbsp;|&nbsp;";
      		echo "</td>";
              echo "<td><a href='Liste_PrenomsF?Lettre=".$row["Lettre"]."'>B </a>";
      		echo "</td>";
      		echo "<td>&nbsp;|&nbsp;";
      		echo "</td>";
              echo "<td><a href='Liste_PrenomsF?Lettre=".$row["Lettre"]."'>C </a>";
      		echo "</td>";
      		echo "<td>&nbsp;|&nbsp;";
      		echo "</td>";
              echo "<td><a href='Liste_PrenomsF?Lettre=".$row["Lettre"]."'>D </a>";
      		echo "</td>";
      		echo "<td>&nbsp;|&nbsp;";
      		echo "</td>";
              echo "<td><a href='Liste_PrenomsF?Lettre=".$row["Lettre"]."'>E </a>";
      		echo "</td>";
      		echo "<td>&nbsp;|&nbsp;";
      		echo "</td>";
              echo "<td><a href='Liste_PrenomsF?Lettre=".$row["Lettre"]."'>F </a>";
      		echo "</td>";
      		echo "<td>&nbsp;|&nbsp;";
      		echo "</td>";
              echo "<td><a href='Liste_PrenomsF?Lettre=".$row["Lettre"]."'>G </a>";
      		echo "</td>";
      		echo "<td>&nbsp;|&nbsp;";
      		echo "</td>";
              echo "<td><a href='Liste_PrenomsF?Lettre=".$row["Lettre"]."'>H </a>";
      		echo "</td>";
      		echo "<td>&nbsp;|&nbsp;";
      		echo "</td>";
              echo "<td><a href='Liste_PrenomsF?Lettre=".$row["Lettre"]."'>I </a>";
      		echo "</td>";
      		echo "<td>&nbsp;|&nbsp;";
      		echo "</td>";
              echo "<td><a href='Liste_PrenomsF?Lettre=".$row["Lettre"]."'>J </a>";
      		echo "</td>";
      		echo "<td>&nbsp;|&nbsp;";
      		echo "</td>";
              echo "<td><a href='Liste_PrenomsF?Lettre=".$row["Lettre"]."'>K </a>";
      		echo "</td>";
      		echo "<td>&nbsp;|&nbsp;";
      		echo "</td>";
              echo "<td><a href='Liste_PrenomsF?Lettre=".$row["Lettre"]."'>L </a>";
      		echo "</td>";
      		echo "<td>&nbsp;|&nbsp;";
      		echo "</td>";
              echo "<td><a href='Liste_PrenomsF?Lettre=".$row["Lettre"]."'>M </a>";
      		echo "</td>";
      		echo "<td>&nbsp;|&nbsp;";
      		echo "</td>";
              echo "<td><a href='Liste_PrenomsF?Lettre=".$row["Lettre"]."'>N </a>";
      		echo "</td>";
      		echo "<td>&nbsp;|&nbsp;";
      		echo "</td>";
              echo "<td><a href='Liste_PrenomsF?Lettre=".$row["Lettre"]."'>O </a>";
      		echo "</td>";
      		echo "<td>&nbsp;|&nbsp;";
      		echo "</td>";
              echo "<td><a href='Liste_PrenomsF?Lettre=".$row["Lettre"]."'>P </a>";
      		echo "</td>";
      		echo "<td>&nbsp;|&nbsp;";
      		echo "</td>";
              echo "<td><a href='Liste_PrenomsF?Lettre=".$row["Lettre"]."'>R </a>";
      		echo "</td>";
      		echo "<td>&nbsp;|&nbsp;";
      		echo "</td>";
              echo "<td><a href='Liste_PrenomsF?Lettre=".$row["Lettre"]."'>S </a>";
      		echo "</td>";
      		echo "<td>&nbsp;|&nbsp;";
      		echo "</td>";
              echo "<td><a href='Liste_PrenomsF?Lettre=".$row["Lettre"]."'>T </a>";
      		echo "</td>";
      		echo "<td>&nbsp;|&nbsp;";
      		echo "</td>";
              echo "<td><a href='Liste_PrenomsF?Lettre=".$row["Lettre"]."'>U </a>";
      		echo "</td>";
      		echo "<td>&nbsp;|&nbsp;";
      		echo "</td>";
              echo "<td><a href='Liste_PrenomsF?Lettre=".$row["Lettre"]."'>V </a>";
      		echo "</td>";
      		echo "<td>&nbsp;|&nbsp;";
      		echo "</td>";
              echo "<td><a href='Liste_PrenomsF?Lettre=".$row["Lettre"]."'>W </a>";
      		echo "</td>";
      		echo "<td>&nbsp;|&nbsp;";
      		echo "</td>";
              echo "<td><a href='Liste_PrenomsF?Lettre=".$row["Lettre"]."'>X </a>";
      		echo "</td>";
      		echo "<td>&nbsp;|&nbsp;";
      		echo "</td>";
              echo "<td><a href='Liste_PrenomsF?Lettre=".$row["Lettre"]."'>Y </a>";
      		echo "</td>";
      		echo "<td>&nbsp;|&nbsp;";
      		echo "</td>";
              echo "<td><a href='Liste_PrenomsF?Lettre=".$row["Lettre"]."'>".$row["Z"]." </a>"; //cette méthode n'affiche rien non plus
      		echo "</td>";
              echo "</tr>";
      		echo "</table>";
      		echo "<br /><br />"; //espaces pour éclaircir l'alphabet de la liste
      }
      // on affiche un autre tableau avec la liste des prénoms
      
      if($total) {
        echo "<table width='50%' bgcolor='#FFFFFF' cellspacing='0' cellpadding='0' align='center'>\n";
      
      // lecture et affichage des résultats  
          while($row = mysql_fetch_array($result)) {
      		echo "<tr>";
              echo "<td><a href='Liste_PrenomsF?Lettre=".$row["Lettre"]."'> </a>";
      		echo "</td>";
      		echo "<td bgcolor='#FFFFFF' text-align='left'>"; 
      		echo "<a href='Fiche_Prenom=".$row['Prenom']."'>".$row['Prenom']."</a>"; // pointe vers la fiche détaillée du prénom cliqué (mais il ne se passe rien !) C'est ici le Pb
      		echo "</td>";
      		echo "</tr>\n";
      	}   echo "</table>\n";
          // fin du tableau.
      }
      else echo "Pas d\'origine pour ce prénom"; // ? il y a forcément une origine sur un prénom alors pourquoi ce else ?
      
      // on libère le résultat
      mysql_free_result($result);
      
      //==========================================================================    
      // si le nombre d'enregistrement à afficher est plus grand que $nombre 
      //==========================================================================
      if($total > $nombre) {
      //    affichePages($nombre,$page,$total);  // affichage des liens vers les pages
          displayNextPreviousButtons($limite,$total,$nombre,$page);  // affichage des boutons
      }
      mysql_close();
      ?>


      Tiens, en recopiant le code je me rend compte qu'il y a deux if($total){ en gras dans le code. Je suis vraiment perdu maintenant et n'en peu plus, je craque !

      La page ou devrait s'afficher le texte expliquant l'origine:
      <?
      // ==============================================================
      // On recupere la variable "id" correspondant au logiciel choisi
      // ==============================================================
      $id=$_GET['id']; // La manipulation de $id est plus simple que celle de $_POST["id"]
      // ==================================================
      // On se connecte et on choisi la base de données
      // ==================================================
      mysql_pconnect("localhost","******","******") or die ("Impossible de se connecter à MySQL");
      mysql_select_db("txiki") or die("Impossible de sélectionner la base de données");
      
      //=====================================================================================
      // requête SQL qui affiche les infos de la fiche correspondante au lien cliqué 
      //=====================================================================================
      $link = '$link';
      $select = "select Prenom, Origine, Ephemeride, FrenchName FROM prenomsfeminins WHERE id='$id'"; // On selectionne seulement la ligne qui correspond au logiciel choisi 
      $result = mysql_query($select)  or die ('Erreur : '.mysql_error() );
      $row= mysql_fetch_row($result);  // mysql_fetch_row genere un tableau correspondant a la ligne selectionnée de la BDD
      // Les informations sont accessibles par $row["id"], $row["nom"], $row["source"]...
      
      // ===================================================
      // Affichage de la fiche dans un tablea&u dynamique 
      // ===================================================
      	echo '<td text-align="center"><strong>'.$Prenom.'</strong></td><br/>'; // affiche le prénom
          echo '<td text-align="left">'.$Origine.'</strong></td><br/>'; // affiche l'origine du prénom.
          echo '<td text-align="center">'.$Ephemeride.'</strong></td><br/>'; // affiche l'éphéméride du prénom s'il existe.
          echo '<td text-align="center">'.$FrenchName.'</strong></td><br/>'; // affiche l'équivalent français du prénom s'il existe.
      
      mysql_close();
      ?>


      Merci en tous cas si tu trouve le bleme.

      Le bonheur est la seule chose que l'on peut donner sans l'avoir.