Liste déroulante

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Liste déroulante

par Maitrepylos » 20 déc. 2006, 10:10

Ben alors j'ai un doute, surtout en lisant ta signature, rassure moi, quand tu dis que tu as fais un copié/collé de mon code, tu as quand même rajouté tes commande sql.

Comme je doute que tu l'ai fais, revoici le code complet avec toutle toutim
<?php
   
	$table = "formateurs"; 
    $sql = "SELECT * FROM " . $table." ORDER BY societe"; 
    $res = mysql_query($sql); 
    $nb = mysql_num_rows($res);
    $i = 0;
?>     
   <table>
<?php 
    

while ($i < $nb){ 
    
    $region = mysql_result($res, $i, "REGIONS");
    $region = explode(',',$region);
    
    $theme = mysql_result($res, $i, "THEMES");
    $theme = explode(',',$theme);
    ?>
    
    
    
    
        <tr onMouseOver="changeCouleur(this);" onMouseOut="remetCouleur(this);">
        <td valign="top"><a href="<?php mysql_result($res, $i, "SITE") ?>"><b><font face="Arial, Helvetica, sans-serif" size="1" color="#666666" align="center"><?php mysql_result($res, $i, "SOCIETE") ?></font></b></a></td>
        <td valign="top"><font face="Arial, Helvetica, sans-serif" size="1" color="#666666" align="center">
        <select>
        <?php
        foreach ($region AS $key=>$valeur)
        {?>
             <option value="<?php echo $region[$key] ?>"><?php echo $region[$key] ?></option>
        <?php
        }
        ?>
        </select></font>
        </td>
            
        <td valign="top"><font face="Arial, Helvetica, sans-serif" size="1" color="#666666" align="left">
        <?php
        foreach ($theme AS $key=>$valeur)
        {?>
             <option value="<?php echo $theme[$key] ?>"><?php echo $theme[$key] ?></option>
        <?php
        }
        ?>
        </select></font>
        </td> 
        
        <td valign="top"><font face="Arial, Helvetica, sans-serif" size="1" color="#666666" align="right"><?php mysql_result($res, $i, "COUT") ?></font></td> 
       </tr>
       <?php 
        $i++; 
    } 

?>
</table>  

si ça marche pas, comprend plus rien moi :?

par Truc » 18 déc. 2006, 22:17

Et le fin mot de l'histoire est . . . .

Oh ben y en a pas :lol:


C'est Résolu ?
On peut savoir comment... on ne sait jamais ça pourra reservir :wink:

par cmoi » 18 déc. 2006, 19:23

désolé mais ca ne marche toujours pas. ce code php là n'affiche plus rien.

Merci d'avoir essayé. je vais rester avec ce que j'ai et qui est déjà bien. je pinaillais un peu !

par Maitrepylos » 18 déc. 2006, 17:22

je viens de vérifier et cela devrais fonctionner, j'ai juste changer une loupiote mais bon.
<?php
while ($i < $nb){ 
    
    $region = mysql_result($res, $i, "REGIONS");
    $region = explode(',',$region);
    
    $theme = mysql_result($res, $i, "THEMES");
    $theme = explode(',',$theme);
    ?>
    
    
    
    
        <tr onMouseOver="changeCouleur(this);" onMouseOut="remetCouleur(this);">
        <td valign="top"><a href="<?php mysql_result($res, $i, "SITE") ?>"><b><font face="Arial, Helvetica, sans-serif" size="1" color="#666666" align="center"><?php mysql_result($res, $i, "SOCIETE") ?></font></b></a></td>
        <td valign="top"><font face="Arial, Helvetica, sans-serif" size="1" color="#666666" align="center">
        <select>
        <?php
        foreach ($region AS $key=>$valeur)
        {?>
             <option value="<?php echo $region[$key] ?>"><?php echo $region[$key] ?></option>
        <?php
        }
        ?>
        </select></font>
        </td>
            
        <td valign="top"><font face="Arial, Helvetica, sans-serif" size="1" color="#666666" align="left">
        <?php
        foreach ($theme AS $key=>$valeur)
        {?>
             <option value="<?php echo $theme[$key] ?>"><?php echo $theme[$key] ?></option>
        <?php
        }
        ?>
        </select></font>
        </td> 
        
        <td valign="top"><font face="Arial, Helvetica, sans-serif" size="1" color="#666666" align="right"><?php mysql_result($res, $i, "COUT") ?></font></td> 
       </tr>
       <?php 
        $i++; 
    } 

?>

par cmoi » 18 déc. 2006, 16:32

le dernier code de Maîtrepylos est impressionnant et le résultat auusi : il n'y a plus rien à l'écran !

c'est peut-être de ma faute. j'ai fait un copier-coller. est-ce qu'il fallait faire des modifs ?

par cmoi » 18 déc. 2006, 16:29

finalement ça

Code : Tout sélectionner

echo '</tr>'; echo'<tr>';
ne va pas

l'affiche se fait en colonne et plus en ligne !

par Maitrepylos » 18 déc. 2006, 11:51

Par exemple, si pour REGIONS on m'a indiqué Alsace et Bretagne, je ne veux pas avoir Alsace,Bretagne mais Alsace et dessous Bretagne.
Ca y est, j'ai compris ce que tu voulais :fete:

J'espère juste que les noms que tu recherches sont bien séparée par une ','.

Et dans ce cas le code ci-dessous devrais être bon.
<?php
while ($i < $nb){ 
	
	$region = mysql_result($res, $i, "REGIONS");
	$region = explode(',',$region);
	
	$theme = mysql_result($res, $i, "THEMES");
	$theme = explode(',',$theme);
	?>
	
	
	
	
        <tr onMouseOver="changeCouleur(this);" onMouseOut="remetCouleur(this);">
        <td valign="top"><a href="<?php mysql_result($res, $i, "SITE") ?>"><b><font face="Arial, Helvetica, sans-serif" size="1" color="#666666" align="center"><?php mysql_result($res, $i, "SOCIETE") ?></font></b></a></td>
        ?>
        <td valign="top"><font face="Arial, Helvetica, sans-serif" size="1" color="#666666" align="center">
        <select>
        <?php
        foreach ($region AS $key=>$valeur)
        {?>
        	 <option value="<?php echo $region[$key] ?>"><?php echo $region[$key] ?></option>
        <?php
		}
        ?>
        </select></font>
        </td>
        	
        <td valign="top"><font face="Arial, Helvetica, sans-serif" size="1" color="#666666" align="left">
        <?php
        foreach ($theme AS $key=>$valeur)
        {?>
        	 <option value="<?php echo $theme[$key] ?>"><?php echo $theme[$key] ?></option>
        <?php
		}
        ?>
        </select></font>
        </td> 
        
        <td valign="top"><font face="Arial, Helvetica, sans-serif" size="1" color="#666666" align="right"><?php mysql_result($res, $i, "COUT") ?></font></td> 
       </tr>
       <?php 
        $i++; 
    } 

?>

par cmoi » 18 déc. 2006, 11:04

cette solution doit être bonne. malheureusement je n'ai plus d'accès à mon hébergeur. je dois attendre pour tester.

par Maitrepylos » 18 déc. 2006, 10:32

Bon,

J'ai relu tout le post.

Si je comprend bien tu veux une liste avec ta requète , et donc tu ajoutes de <br />.

Mais lâ où tu les mets cela ne sert à rien, pourquoi, parce que tu demande de passer à la ligne après l'affichage de ta donnée, or l'èlement suivant est une cellule <td> qui d'office va se mettre à côté.

Alors soit tu fais un menu déroulant avec la balise <select>.

Soit tu fais un liste de cellule en mettant des <TR> entre tes <TD>

while ($i < $nb){ 
        echo '<tr onMouseOver="changeCouleur(this);" onMouseOut="remetCouleur(this);">'; 
        echo '<td valign="top"><a href="'.mysql_result($res, $i, "SITE").'"><b><font face="Arial, Helvetica, sans-serif" size="1" color="#666666" align="center">'.mysql_result($res, $i, "SOCIETE").'</font></b></a></td>';
echo '</tr>';
echo'<tr>'; 
        echo '<td valign="top"><font face="Arial, Helvetica, sans-serif" size="1" color="#666666" align="center">'.mysql_result($res, $i, "REGIONS").'<br /></font></td>'; 
echo '</tr>';
echo'<tr>'; 
        echo '<td valign="top"><font face="Arial, Helvetica, sans-serif" size="1" color="#666666" align="left">'.mysql_result($res, $i, "THEMES").'<br /></font></td>'; 
echo '</tr>';
echo'<tr>'; 
        echo '<td valign="top"><font face="Arial, Helvetica, sans-serif" size="1" color="#666666" align="right">'.mysql_result($res, $i, "COUT").'</font></td>'; 
        echo '</tr>'; 
        $i++; 
    }  

par cmoi » 17 déc. 2006, 23:29

Les champs THEMES et REGIONS correspondent à des listes déroulantes dans ma base
? des listes dans la base ?

un type "Enum" ?

Comment sont enregistrées ces données ?
non type "set"

par Truc » 17 déc. 2006, 22:09

Les champs THEMES et REGIONS correspondent à des listes déroulantes dans ma base
? des listes dans la base ?

un type "Enum" ?

Comment sont enregistrées ces données ?

par winni » 17 déc. 2006, 20:23

Non surtout pas !! Tu dois d'abord fermer ta cellule avant de fermer ta ligne.

<tr><td></td></tr>.

par cmoi » 17 déc. 2006, 20:10

Si tu veux tes données chacune sur une ligne, il serait bon d'envisager la balise <tr> plutôt que <br>.

br : retour chariot dans un paragraphe
tr : ligne de tableau HTML
td: cellule de tableau HTML
font : portion de texte formaté
Dans mon code je dois remplacer par <tr>, ainsi ?

Code : Tout sélectionner

'<tr /></font></td>'

par cmoi » 17 déc. 2006, 20:09

je dois mal m'expliquer. Les champs THEMES et REGIONS correspondent à des listes déroulantes dans ma base. Donc pour chacunes j'ai plusieurs réponses. Et je voudrais que chaque réponse soit renvoyée à la ligne.

Par exemple, si pour REGIONS on m'a indiqué Alsace et Bretagne, je ne veux pas avoir Alsace,Bretagne mais Alsace et dessous Bretagne.

par mere-teresa » 17 déc. 2006, 19:23

Si tu veux tes données chacune sur une ligne, il serait bon d'envisager la balise <tr> plutôt que <br>.

br : retour chariot dans un paragraphe
tr : ligne de tableau HTML
td: cellule de tableau HTML
font : portion de texte formaté