Liste déroulante

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

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é
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

Eléphant du PHP | 440 Messages

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.
Débutant complet en php/mysql. Merci pour votre aide.

Eléphant du PHP | 440 Messages

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>'
Débutant complet en php/mysql. Merci pour votre aide.

Eléphant du PHP | 78 Messages

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>.

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

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 ?

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 440 Messages

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"
Débutant complet en php/mysql. Merci pour votre aide.

Mammouth du PHP | 1029 Messages

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++; 
    }  

L'expérience est la somme de toutes nos erreurs.

Eléphant du PHP | 440 Messages

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.
Débutant complet en php/mysql. Merci pour votre aide.

Mammouth du PHP | 1029 Messages

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++; 
    } 

?>

L'expérience est la somme de toutes nos erreurs.

Eléphant du PHP | 440 Messages

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 !
Débutant complet en php/mysql. Merci pour votre aide.

Eléphant du PHP | 440 Messages

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 ?
Débutant complet en php/mysql. Merci pour votre aide.

Mammouth du PHP | 1029 Messages

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++; 
    } 

?>
L'expérience est la somme de toutes nos erreurs.

Eléphant du PHP | 440 Messages

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 !
Débutant complet en php/mysql. Merci pour votre aide.

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

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:

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Mammouth du PHP | 1029 Messages

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 :?
L'expérience est la somme de toutes nos erreurs.