Listbox de dossier ? //

Listbox de dossier ? // - PHP - Programmation

Marsh Posté le 14-08-2005 à 14:49:34    

EDIT : voir dernier message
 
Hello, j'ai un léger problème comme beaucoup ^^
 
 
Je développe une page qui lis et affiche des images contenues dans un repertoire. Le nom de ce repertoire est lu à partir d'un cookie crrer précédemment
 

Citation :

<?
    $lien = $_COOKIE["test"];  
// on récupere la valeur dans le cookie
if($lien == '')  
// on check si la valeur n'est pas vide
  {  
  echo 'erreur';  
  }  
else  
    {
// url du fichier qui contien les photos
$urlphoto = "./decks/$lien";
 
// nom du r&eacute;pertoire qui contien les photos
$nomRepertoire = "./decks/$lien";
$dossier = opendir($nomRepertoire);
while ($Fichier = readdir($dossier))
{
  if ($Fichier != "." && $Fichier != ".." )
  {
    $nomFichier = $Fichier;
    // Hauteur de toutes les photos
    $h_vign = "200";
    $taille = getimagesize($nomRepertoire."/".$Fichier);
    $reduc  = floor(($h_vign*100)/($taille[1]));
    $l_vign = floor(($taille[0]*$reduc)/100);
 
echo "<a href=\"javascript:void(0)\"; onClick=\"window.open('$urlphoto/$nomFichier','test','width=360,height=500,toolbar=0,location=1,directories=0,status=0,menubar=0,scrollbars=0,resizable=0,copyhistory=0');\">";  
 
  //echo "<a target=\"blank\" href=\"$urlphoto/$nomFichier\">";
    echo "<img src=\"$urlphoto/$nomFichier\" ";
    echo "width='$l_vign' height='$h_vign'>";
    echo "</a><br>";  
  }  
}  
closedir($dossier);
}  
?>


 
Voilà donc ce code fonctionne, MAIS mon problème est que sur la page ou je le met les images s'enchainent cote a cote sans faire de retour à la ligne. Ce qui me donne donc un scroll horizontal qui me plait pas du tout ^^ Sachant que la largeur de ma page est défini a 100% pour s'adapter a toutes les résolutions, auriez vous une solution pour que en fonction de la largeur de la page web, les images se mettent à la ligne automatiquement ?
 
merci !


Message édité par Neostranger le 15-08-2005 à 12:18:54

---------------
X
Reply

Marsh Posté le 14-08-2005 à 14:49:34   

Reply

Marsh Posté le 14-08-2005 à 15:14:03    

et la balise [code] elle est pas la pour garnir :o


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 14-08-2005 à 15:15:02    

je suis une bille en html mais je me lance:
si tu rajoutes une balise <br> (ou <br/> je sais plus exactement) apres chaque photo ca marche pas?

Reply

Marsh Posté le 14-08-2005 à 15:18:28    

si tu es un bille (comme tu dis) en html, fait pas de php :o
 
avant de faire quelque chose de dynamique, faut savoir faire quelque chose de statique :o


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 14-08-2005 à 15:21:53    

KangOl a écrit :

si tu es un bille (comme tu dis) en html, fait pas de php :o
 
avant de faire quelque chose de dynamique, faut savoir faire quelque chose de statique :o


 
 :ouch:
 
1) Je ne suis pas l'auteur de la question , je passais dans le coin et je voulais juste essayer d'aider Neostranger
 
2)Pourquoi m'agresses tu?


Message édité par betsamee le 14-08-2005 à 15:23:42
Reply

Marsh Posté le 14-08-2005 à 16:20:03    

Kangol > me suis trompé en cliquant :o
 
betsamee> non ca fonctionne pas, car si je fais ca, dans une boucle, ca répete a la fin de chaque image un break line ^^ mais merci pour ta réponse  :jap:  
 
alors les pros ici personne a une idée svp ?


---------------
X
Reply

Marsh Posté le 14-08-2005 à 17:01:42    

mets tes images en float:left


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 14-08-2005 à 17:25:05    

merci maestro ca marche tip top !
 
faut vraiment que je bosse plus avec les CSS moi...
 
en tout cas merci ca marche tip top a premiere vu !


---------------
X
Reply

Marsh Posté le 15-08-2005 à 12:18:25    

Encore une question de "pratique/logique"
 
Est il possible de faire un bouton listbox" dans un formulaire, qui propose automatiquement comme champs les noms de dossier d'un dossier spécifique ?
 
 
En gros j'ai
 
Dossier 1
>>dossier1.1
>>dossier1.2
>>dossier1.3
 
De faire une page x.php avec un form et un list box qui affiche comme propositions les dossier 1.x ?(mais il faut qu'il récupere seuls les données) ?
 
merci


---------------
X
Reply

Marsh Posté le 21-08-2005 à 01:10:24    

Salut,
 
<select name="select">
 
 
Tu parcours tous tes dossiers de ton dossier que tu veut lister en php , tu teste si le fichier courant est un dossier, si oui tu fais un :
echo "<option value='$file'>$file</option>";
 
</select>
 
Voilà :D.

Reply

Marsh Posté le 21-08-2005 à 01:10:24   

Reply

Marsh Posté le 21-08-2005 à 09:54:22    

merci neofunk
 
voila au final ce que j'ai fait même si c'est pas tres propre
 

Code :
  1. echo "<form method=post action=\"verif.php\">\n";
  2. echo "Nickname : <input type=\"text\" name=\"nick\" size=\"12\"><br>\n";
  3. //echo "Jeux choisi : <input type=\"text\" name=\"jeux\" size=\"12\">\n";
  4. // on affiche la liste des répertoires
  5. $nomRepertoire = "./decks";
  6. $dossier = opendir($nomRepertoire);
  7. $i="0";
  8. $y="0";
  9. while ($Fichier = readdir($dossier)) {
  10.   if ($Fichier != "." && $Fichier != ".." ) {
  11.     $nomFichier = $Fichier;
  12.    $tab[$i]= $Fichier;
  13.    $i=$i+1;
  14.  
  15.   // echo "<a target=\"self\" href=\"$nomRepertoire/$Fichier\">";
  16.    // echo $i;
  17.    // echo "</a><br>";  
  18.       // echo $nomFichier."<BR>";
  19.   }
  20.   }
  21. closedir($dossier);
  22. echo '<select size=1 name="jeux">'."\n";
  23.   echo '<option value="-1">Choisir un Deck<option>'."\n";
  24.  
  25.    for($i = 0; $i<=80; $i++){
  26.     echo '<option value="'.$tab[$i].'">'.$tab[$i];
  27.     echo '</option>'."\n";
  28.   }
  29.  
  30.   echo '</select>'."\n";
  31. echo "<input type=\"submit\" value=\"OK\">\n";
  32. echo "</form>";
  33. }
  34. ?>


 
Le prob est ma boucle for de 1 a 80....tatnq que j'ai pas 80 dossier ca me fait bcp de case blanche dans ma liste". Faudrait utiliser une autre boucle, genre tant que ou repeter, mais en php j'arrive pas vraiment ^^


Message édité par Neostranger le 21-08-2005 à 09:55:09

---------------
X
Reply

Marsh Posté le 21-08-2005 à 10:56:35    

utilises un foreach

Reply

Marsh Posté le 21-08-2005 à 11:21:37    

betsamee a écrit :

utilises un foreach


 
 
ok je vais regarder de ce coté merci  :jap:


---------------
X
Reply

Marsh Posté le 21-08-2005 à 15:52:44    

pk 80?
 
Tu fais un sizeof du tableau    
for($i = 0; $i<=sizeof($tab)-1; $i++){...}
 
Mais c t pas un liste de dossier que tu voulais? Parceque tu testes pas si le fichier est un dossier avant de le mettre dans le tableau?
Mais c vrai qu ele foreach serait une meilleure idée.
 
+.


Message édité par Neofunk le 21-08-2005 à 15:53:47

---------------
Feedback
Reply

Marsh Posté le 21-08-2005 à 17:57:59    

Citation :

pk 80?

parce que j'avais pas d'autres solutions sur le moment  :D  
 

Citation :

Mais c t pas un liste de dossier que tu voulais?

bin la ce qui est copié plus haut, chope les dossier dans un dossier, et les affiche dans une liste déroulante :)


---------------
X
Reply

Marsh Posté le 21-08-2005 à 18:28:49    

bah oui donc tes dossiers contiennent obligatoirement des dossiers donc et pas d'autres fichiers?
 
Sinon utilise la fonction isdir();
 
+.


---------------
Feedback
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed