L'enregistrement qui suit

Eléphant du PHP | 214 Messages

06 févr. 2011, 16:01

Bonjour,

Je voudrais savoir c'est quoi l'ID de l'enregistrement qui suit dans une table, par exemple:

table avec id, nom
1, jack
2, john
5, james
6, michael

si par exemple j'affiche les informations de john, et je voudrais afficher profil suivant, je peux pas utiliser:
$suivant = $id + 1
parce que dans ce cas serait 3, alors que 3 et 4 sont supprimes, comment faire afin de reconnaitre celui qui suit.

Merci

Eléphant du PHP | 398 Messages

06 févr. 2011, 17:45

Avec une requete SQL comme ça :
SELECT 
	id
FROM matable
WHERE 
id = ( SELECT MIN( id ) FROM matable WHERE id_article > " . $id . " )
----------------------------------------------------------------------------------
https://astro-otter.space - Discover wonders and mysteries of Universe

ViPHP
xTG
ViPHP | 7331 Messages

06 févr. 2011, 17:46

Ceci suffit amplement :
SELECT MIN( id ) FROM matable WHERE id_article > " . $id . "
;)

Eléphant du PHP | 214 Messages

06 févr. 2011, 21:27

<?php

	$snextprev = 'SELECT MIN(id_vid) FROM vids WHERE id_vid > "'. $menu.'"';
    echo $snextprev.'<br>';
    $qnextprev = mysql_query($snextprev) OR DIE ('Unable to select videos: '.mysql_error());
    $tnextprev = mysql_num_rows($qnextprev);
    
    if ($tnextprev) {
    
    $shnextprev = mysql_fetch_array($qnextprev);
    extract($shnextprev);
    
    echo $id_vid;
    }
?>
Ca me retourne id_vid = 1

Sachant que:

menu est la variable de l'id_vid en cours de lecture.
id_vid dans la table qui suit est 1000.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

06 févr. 2011, 21:55

Heu c'est con mais pourquoi utiliser min ?

Select id from table where id > id_en_cours limit 1 devrais suffir poir donner l'id suivant de la table.

@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 214 Messages

07 févr. 2011, 13:04

Merci ca marche