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

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

2 réponses

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