Probleme complexe pour afficher l'id suivante
Hors ligneGlougloute Le 30/12/2005 à 21:14 Profil de Glougloute Configuration de Glougloute

I love VIC
Bonjour à tous !

Alors la, je m'adresse aux pros, parce que mon probleme est des plus complexes.

Voici ma table :


Ma page se présente comme ceci :
http://site.com/index.php?id=exemple&r=exemple2

id correspond à l'id
r correspond à cat

Je voudrais afficher l'id suivante en fonction de l'id en cours et de la catégorie. (Wahou, )


Voici ce que j'ai écrit :


            <?php
// connexion

// on cherche a quel id correspond la page en cours
$query1 = "SELECT id FROM posts WHERE nom='".$_GET["id"]."'";
$result1 = mysql_query($query1);
$row1 = mysql_fetch_row($result1);  // il affiche l'id de la page en cours

// On affiche le nom de l'id suivante de la categorie en cours
$query2 = "SELECT nom FROM posts WHERE cat='".$_GET["r"]."' AND id='".$row1[0]."' ORDER BY id DESC LIMIT 0,1";
$result2 = mysql_query($query2);
$row2 = mysql_fetch_row($result2);

echo
$row2[0]; //nom de l'id suivante de la catégorie en cours
echo $row1[0]; //id en cours

?>




Mon code ne fonctionne pas, et je n'ai pas d'erreur :(
Quelqu'un pourrait me donner un coup de pouce ? Ca serait trop trop sympa.


Si vous voulez des infos en plus, demandez. J'pense que j'ai tout donné la.

Peace.
--
Je vous aiderai dans la mesure du possible ;)
Hors ligneAnthony Le 30/12/2005 à 22:48 Profil de Anthony Configuration de Anthony

Fou du volant
Salut,

En une seule requête (si tu n'as pas besoin d'afficher l'id en cours) :

SELECT nom FROM posts WHERE cat='".$_GET['r']."' AND id=(SELECT id FROM posts WHERE nom=".$_GET['id'].") ORDER BY id DESC LIMIT 0,1"

n'oublie pas la connexion à mysql également avant la requête MySQL, et la sélection de la base de données.

a +
--

Hors ligneGlougloute Le 30/12/2005 à 22:58 Profil de Glougloute Configuration de Glougloute

I love VIC
Merci pour ta réponse si rapide !

Voici ce que ce que tu m'as donné :

<?php //connexion $query1 = "SELECT nom FROM posts WHERE cat='".$_GET['r']."' AND id=(SELECT id FROM posts WHERE nom=".$_GET['id'].") ORDER BY id DESC LIMIT 0,1"; $result1 = mysql_query($query1); $row1 = mysql_fetch_row($result1);  // il affiche l'id en cours echo $row1[0]; ?>

Normalement, quelque chose devrait s'afficher mais ce n'est pas le cas :(
Je ne vois aps d'ou pourrait venir le probleme...


Merci.
--
Je vous aiderai dans la mesure du possible ;)
Hors ligneAnthony Le 31/12/2005 à 13:03 Profil de Anthony Configuration de Anthony

Fou du volant
Rajoute un OR die(mysql_error());

$result1 = mysql_query($query1) OR die(mysql_error());

et dis-nous ce qu'il s'affiche :-)
--

Hors ligneGlougloute Le 31/12/2005 à 13:15 Profil de Glougloute Configuration de Glougloute

I love VIC
Voici ce qui s'affiche :

You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT id FROM posts WHERE nom=slip) ORDER BY id DESC LIMIT 0,1
--
Je vous aiderai dans la mesure du possible ;)
Hors ligneAnthony Le 31/12/2005 à 13:18 Profil de Anthony Configuration de Anthony

Fou du volant
T'as une version de MySQL trop ancienne. Si t'es sous EasyPHP, installe WAMP (qui est un peu plus performant) : WAMP

a +
--

Hors ligneGlougloute Le 31/12/2005 à 13:20 Profil de Glougloute Configuration de Glougloute

I love VIC
Le probleme c'est que je fais mes tests directement sur mon hébergeur..
Il s'agit de 1and1 donc ça risque de poser probleme...

Je vais esseyer en local alors... merci beaucoup
--
Je vous aiderai dans la mesure du possible ;)
Vous avez résolu votre problème avec VIC ? Faites-le savoir sur les réseaux sociaux !
Vulgarisation-informatique.com
Cours en informatique & tutoriels