appel "décalé" dans un table

  • Créateur du sujet Créateur du sujet Halbert
  • Date de début Date de début
A

Anonyme

Invité
Bonjour

Voilà, j'ai besoin d'extraire d'une table d'un bdd sql une liste de noms sous la forme suivante :

nom1 nom2
nom2 nom3
nom3 nom4
...

Je pourrais créer une deuxième table pour la deuxième liste. Mais y aurait-il un autre moyen ?

Bonne soirée
Albert
 
Salut
je ne suis pas sûr d'avoir compris, tu veux entretenir deux tables dont une ne serait qu'une copie de la première mais sans l'enregistrement n° 1 ?
Si c'est ça, tu peux peut-être utiliser "create view alias as select * from liste where num != '1'" ou quelque chose du genre.

++
 
Salut
je ne suis pas sûr d'avoir compris, tu veux entretenir deux tables dont une ne serait qu'une copie de la première mais sans l'enregistrement n° 1 ?
Si c'est ça, tu peux peut-être utiliser "create view alias as select * from liste where num != '1'" ou quelque chose du genre.

++

je sentais bien que je n'étais pas clair. Je me demandais si avec une seule table nom1, nom2, nom3 etc...

Je pouvais récuperer en php :

nom1 nom2
nom2 nom3
nom3 nom4

Sans créer une deuxième table

Albert
 
Vraiment désolé mais je n'ai toujours pas compris. Je ne suis peut être pas dans un bon jour ^^
"nom1", "nom2" sont des valeurs ou des champs ? C'est bien un décalage que tu veux réaliser pour afficher le résultat sur un site web ?
Ou je veux afficher sur un site les deux listes décalées
nom1 nom2 nom3 sont des valeurs
Albert
 
Je pige pas, pourquoi tu veux gérer ça dans la requête et pas en php ?
Bloc de code:
$req = mysql_query("select nom from table");
while($row = mysql_fetch_object($req)){
     if(isset($pre))
          echo "$pre $row->nom <br />";
     $pre = $row->nom;
}
 
Je pige pas, pourquoi tu veux gérer ça dans la requête et pas en php ?
Bloc de code:
$req = mysql_query("select nom from table");
while($row = mysql_fetch_object($req)){
     if(isset($pre))
          echo "$pre $row->nom <br />";
     $pre = $row->nom;
}

Bonjour

Au contraire, je voulais le gérer en php.
Ai-je bien compris ?
Au premier tour la variable pre est vide donc rien n'est retourné.
Au deuxième, pre vaut le nom1 er row vaut nom2
etc ?
merci
Albert
 
Oui c'est ça le but, je garantie pas que le code tourne sans modifications et sans fautes de frappe, j'ai pas testé. ;)

Bonjour

Il y a un problème que je ne vois pas. J'ai adapté ta solution à mon script mais ça ne tourne pas.
Il n'y aurait pas une fonction php qui prendrait la valeur du champ suivant ? Ca serait bien !!!

Albert
 
Tu peux utiliser mysql_result et lire les lignes d'après leur numéro en les parcours jusqu'au mysql_num_rows, mais sinon montre ton script exact et dis nous où ça coince.

Bonjour. je me demande si je ne fais pas des confusions du fait que j'appelle deux tables.
J'ai bricolé ce qui suit (ça sent l'amateurisme, une journée pour arriver à ça !) et j'obtiens :

Date 1 nom 1 nom2
Date 2 nom 3 nom4
Date 3 nom 5 nom6

alors que je veux :

Date 1 nom 1 nom2
Date 2 nom 2 nom3
Date 3 nom 3 nom4

Code :

$query1 = "SELECT Nom FROM table1 WHERE Classe LIKE '$Classe' ORDER BY Nom";
$query2 = "SELECT DateSemaines FROM table2 ";
$result1 = mysql_query($query1);
$result2 = mysql_query($query2);

echo '<table>'."\n";

echo '<tr>';
echo '<td>Date</td>';
echo '<td>Responsable</td>';
echo '<td>Suppléant</td>';
echo '</tr>'."\n";

while($row = mysql_fetch_array($result2))

{
echo '<tr>';

echo '<td>'.$row["DateSemaines"].'</td>';

$row = mysql_fetch_array($result1);


echo '<td>'.$row["Nom"].'</td>';


$row = mysql_fetch_row($result1);


echo '<td>'.$row[0].'</td>';

echo '</tr>'."\n";

}


Merci d'avance
Albert
 
Albert je n'ai pas tout saisi mais qu es-ce qui relie la table personnes a la table groupes(ou classes) a la table evenements(date)

pour moi il y a un glitch coter modelisation, et ce que tu cherches a faire est tout a fait possible en sql si la DB n'est pas un foutoir, merci d'exposer ton modele de DB pour qu'on puisse depatouiller et decrypt´er tout ceci

personnes
name ... id

groupes
name ... id

evenements
name date ... id

si tu es en myisam tu as besoin de tables de relation pour emuler les clefs etrangeres

personnes2groupes
id_personne id_groupe

personnes2evenements
id_personne id_evenements

je soupconne aussi le besoin d'avoir une table roles pour l'associ´er a une personne en fonction d'un evenement ou calendrier... la aussi il faudrait peut etre un 'real calendar' objet
 
Albert je n'ai pas tout saisi mais qu es-ce qui relie la table personnes a la table groupes(ou classes) a la table evenements(date)

pour moi il y a un glitch coter modelisation, et ce que tu cherches a faire est tout a fait possible en sql si la DB n'est pas un foutoir, merci d'exposer ton modele de DB pour qu'on puisse depatouiller et decrypt´er tout ceci

personnes
name ... id

groupes
name ... id

evenements
name date ... id

si tu es en myisam tu as besoin de tables de relation pour emuler les clefs etrangeres

personnes2groupes
id_personne id_groupe

personnes2evenements
id_personne id_evenements

je soupconne aussi le besoin d'avoir une table roles pour l'associ´er a une personne en fonction d'un evenement ou calendrier... la aussi il faudrait peut etre un 'real calendar' objet
Bonjour

Il n'y pas de table "événement". Il y a table 1 et table 2 dans une bdd. Dans l'une je récupère une liste de noms, dans l'autre une liste de date.
Et veux rafficher sur ma page web :

date 1 nom 1 nom 2
date 2 nom 2 nom 3
date 3 nom 3 nom 4

merci

Albert