$_GET avec mysql

Petit nouveau ! | 9 Messages

24 mars 2010, 12:36

Bonjour,

je viens d'apprendre le php mais voilà j'ai quelques lacunes concernant la récupération d'un id d'une base de donnée, je m'explique :

J'ai créer un système de news avec BDD, et j'ai réalisé un script me permettant d'afficher la news qu'à partir d'un certain nombre de caractères suivis d'un lien "lire la suite"
Mais voilà je ne sais pas récupéré cet id dans un lien :(

Voici ce que j'ai commencé (le code pourrait être amélioré je sais bien ^^)

Code : Tout sélectionner

//Récupère 5 dernière news $retour = mysql_query("SET NAMES UTF8"); $retour = mysql_query ('SELECT * FROM news ORDER BY id DESC LIMIT 0, 3'); while ($donnees = mysql_fetch_array($retour)) { ?> <!-- Titre --> <div class="titre"><?php echo $donnees['titre']; ?><br/> <font id="date">écrit par <?php echo $donnees['pseudo']; ?> ///////////////////////</font> <div class="flag"></div></div> <p> <?php $_GET['news'] = $donnees['id']; ?> <?php //fonction limitation de mots $req = mysql_query ('SELECT contenu FROM news'); $chaine = mysql_fetch_array($req); $donnees['contenu']=nl2br($donnees['contenu']); $nb_mots = 150; $calcul = strlen($donnees['contenu']); if ($calcul <= $nb_mots) { echo $donnees['contenu']; } else { $affiche = substr($donnees['contenu'],0,800); $suite = '<a href="http://www.site.com/page_suite.php?$_GET[\'news\']"><b>[Lire la suite]</b></a>'; echo "$affiche...<br/>$suite. "; } ?> <?php } ?>

Pouvez vous m'aider ?
En vous remerciant d'avance,

Stouf

ViPHP
AB
ViPHP | 5818 Messages

24 mars 2010, 14:14

Y'a des éléments de réponse dans http://www.phpdebutant.org/ colonne de droite.

devlop78
Invité n'ayant pas de compte PHPfrance

24 mars 2010, 14:44

$_GET['news'] = machin == NON, ne le fais pas

soit $id l'id récupéré dans ta bdd

<a href="tonlien.php?id=$id">Lire la suite</a>

Pour récupérer cet id

if (isset($id)) {
// affiche la suite.
}

Tu peux modifier ton $_GET si tu sais ce que tu fais, mais là si tu le modifies, et que plus tard dans ton script tu veux récupéré la valeur que l'utilisateur a entré, tu vas te piéger. $_GET, c'est $_GET, et $id c'est $id. Chacun son boulot.

ViPHP
AB
ViPHP | 5818 Messages

24 mars 2010, 16:01

soit $id l'id récupéré dans ta bdd

<a href="tonlien.php?id=$id">Lire la suite</a>

Pour récupérer cet id

if (isset($id)) {
// affiche la suite.
}
Pour récupérer cet id ce serait plutôt if(isset($_GET['id'])){...} dans cet exemple :wink:

devlop78
Invité n'ayant pas de compte PHPfrance

25 mars 2010, 17:41

Ouai je déteste les variables prédéfinies (j'ai plus le nom en tête). Un get, c'est un get, si get 'id' devient $id, ca fout la m*** !! :) Sinon, ya request pour pas se prendre la tête à savoir si c'est un get ou pas.