Page 1 sur 1

$_GET avec mysql

Posté : 24 mars 2010, 12:36
par stouf
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

Re: $_GET avec mysql

Posté : 24 mars 2010, 14:14
par AB
Y'a des éléments de réponse dans http://www.phpdebutant.org/ colonne de droite.

Re: $_GET avec mysql

Posté : 24 mars 2010, 14:44
par devlop78
$_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.

Re: $_GET avec mysql

Posté : 24 mars 2010, 16:01
par AB
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:

Re: $_GET avec mysql

Posté : 25 mars 2010, 17:41
par devlop78
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.