IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

requete mysql bizarre [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de kaking
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 753
    Par défaut requete mysql bizarre
    bonjour tous le monde


    'oilou, je voudrais savoir comment faire pour que dans une boucle de ce type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <table><tr><?php
    $query=mysql_query("select * from 
    matable WHERE monchamps='xx'");
    while($fetch=(mysql_fetch_array($query))
    {
    $id=$fetch['id'];
    $nom=$fetch['nom'];
    ?><td><?php echo $nom  ?></td><?php
    }
    ?></tr></table>
    COMMENT FAIRE pour selectionner l'id qui va prochainement etre selectionné?
    je veux faire un lien qui passera a l'id suivant mais je vois pas comment m'y prendre...

  2. #2
    Membre chevronné Avatar de SphynXz
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    439
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 439
    Par défaut
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     
     
    <table>
    <?php
    	$sql 	= 	"	
    					SELECT * 
    					FROM matable
    					WHERE monchamps = 'xx'
    				";
     
    	$query	=	mysql_query();
    	$i		=	0;
    	$res	= array();
    	while($fetch = mysql_fetch_array($query)):
    		$res[$i]['id'] = $fetch['id'];
    		$res[$i]['nom'] = $fetch['nom'];
    		$i++;
    	endwhile;
     
    	for(j=0;$j<$i;$j++):
    		echo "<tr><td>";
    		if(isset($res[($j-1)]['id'])):
    			echo 	"<a href=\"page.php?id=" 
    					. 
    					$res[($j-1)]['id'] 
    					. 
    					"\">Précedent (" 
    					. 
    					$res[($j-1)]['nom'] 
    					. 
    					")</a>&nbsp;&nbsp;";
    		endif;
     
    		echo "{$res[$j]['nom']}";
     
    		if(isset($res[($j+1)]['id'])):
    			echo 	"<a href=\"page.php?id=" 
    					. 
    					$res[($j+1)]['id'] 
    					. 
    					"\">Suivant (" 
    					. 
    					$res[($j+1)]['nom'] 
    					. 
    					")</a>";
    		endif;
    		echo "</td></tr>";
    	endfor;
    ?>
    </table>

  3. #3
    Membre éclairé Avatar de kaking
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 753
    Par défaut
    merci beaucoup

    juste une question-because que je me suis jamais servi des endwhile; endif;

    si je mets ca au debut de mon while, est ce que le while continuera normalement?

    genre est ce que c'est qu'une parenthese au while ou est ce que ca insidie sur le reste du while et le while s'arrete apres avoir mis endwhile?




    aie!

    j'ai fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    while($b=mysql_fetch_array($resultat_sql ))
    {
    $i++;
    endwhile;
     
    	for(j=0;$j<$i;$j++):
    		echo "<tr><td>";
    		if(isset($res[($j-1)]['id'])):
    			echo 	"<a href=\"page.php?id=" 
    					. 
    					$res[($j-1)]['id'] 
    					. 
    					"\">Précedent (" 
    					. 
    					$res[($j-1)]['nom'] 
    					. 
    					")</a>&nbsp;&nbsp;";
    		endif;
     
    		echo "{$res[$j]['nom']}";
     
    		if(isset($res[($j+1)]['id'])):
    			echo 	"<a href=\"page.php?id=" 
    					. 
    					$res[($j+1)]['id'] 
    					. 
    					"\">Suivant (" 
    					. 
    					$res[($j+1)]['nom'] 
    					. 
    					")</a>";
    		endif;
    		echo "</td></tr>";
    	endfor;

    et y me disent erreur a la ligne du endwhile...

  4. #4
    Membre chevronné Avatar de SphynXz
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    439
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 439
    Par défaut
    je n'ai pas très bien compris ta question.

    les endwhile; endfor; endif sont juste là pour remplacer les {}

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    while($truc = $machin) {
     
    }
    revient à faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    while($truc = $machin):
     
    endwhile;
    j'utilise cette syntaxe lorsque plusieurs conditions sont utilisés, cela permet une meilleure visibilité du code lorsque plein de '}' se succèdent


    ::EDIT::

    tu ne peux rendre le code que je t'ai fait fonctionnel si tu ne prend que ce qui t'interesse

    Montre moi ton code en entier (prends soin de masquer toute données sensible )

  5. #5
    Membre éclairé Avatar de kaking
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 753
    Par défaut
    ca, le probleme de se faire aider par les gens qui savent : yzont toujours une longueur d'avance


    okay alors c est normal que mon code marche pas si j'ai fais ca...

    mais je comprends pas.... tu fais $i++ AVANT le endwhile...

    donc AVANT les {..... non?


    demande d'un noob qui sent qu'il s'egare : peut tu recoder en mode 'pour les enfants' siouplais?

    merci

  6. #6
    Membre chevronné Avatar de SphynXz
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    439
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 439
    Par défaut
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     
    <table>
    <?php
    	$sql 	= 	"	
    					SELECT * 
    					FROM matable
    					WHERE monchamps = 'xx'
    				";
     
    	$query	=	mysql_query();
    	$i		=	0;
    	$res	= array();
    	while($fetch = mysql_fetch_array($query)){
    		$res[$i]['id'] = $fetch['id'];
    		$res[$i]['nom'] = $fetch['nom'];
    		$i++;
    	}
     
    	for(j=0;$j<$i;$j++){
    		echo "<tr><td>";
    		if(isset($res[($j-1)]['id'])){
    			echo 	"<a href=\"page.php?id=" 
    					. 
    					$res[($j-1)]['id'] 
    					. 
    					"\">Précedent (" 
    					. 
    					$res[($j-1)]['nom'] 
    					. 
    					")</a>&nbsp;&nbsp;";
    		}
     
    		echo "{$res[$j]['nom']}";
     
    		if(isset($res[($j+1)]['id'])){
    			echo 	"<a href=\"page.php?id=" 
    					. 
    					$res[($j+1)]['id'] 
    					. 
    					"\">Suivant (" 
    					. 
    					$res[($j+1)]['nom'] 
    					. 
    					")</a>";
    		}
    		echo "</td></tr>";
    	}
    ?>
    </table>

    Idéalement, essaye de ne modifier que la requète SQL sur ce code , et voit si cela te convient

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. résultat d'une requete mysql
    Par noinneh dans le forum MFC
    Réponses: 4
    Dernier message: 03/03/2005, 16h54
  2. arret requete mysql
    Par titiyo dans le forum Bases de données
    Réponses: 5
    Dernier message: 15/10/2004, 17h40
  3. Problème sous requete MySQL
    Par gavelin dans le forum Langage SQL
    Réponses: 3
    Dernier message: 20/07/2004, 10h36
  4. Requete MySql pour Mambo Open source
    Par azman0101 dans le forum Requêtes
    Réponses: 2
    Dernier message: 22/06/2004, 09h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo