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

txiki Messages postés 6514 Date d'inscription   Statut Contributeur Dernière intervention   -  
txiki Messages postés 6514 Date d'inscription   Statut Contributeur Dernière intervention   -
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

  1. gaerebut Messages postés 1060 Statut Membre 171
     
    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
    0
    1. txiki Messages postés 6514 Date d'inscription   Statut Contributeur Dernière intervention   609
       
      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.
      0
  2. gaerebut Messages postés 1060 Statut Membre 171
     
    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
    0
    1. txiki Messages postés 6514 Date d'inscription   Statut Contributeur Dernière intervention   609
       
      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.
      0