afficher une image d'une base de donnée en php

Eléphanteau du PHP | 40 Messages

29 avr. 2012, 04:23

bonsoir tout le monde j'ai un petit souci en fait je veux que mes images seront affiché par exemple 3 images par ligne ou 4 images mais mon code m'affiche juste une image par ligne voila mon code :
<?php 

include("conn.php");
$reponse = mysql_query("SELECT * FROM videos "); //tu te connect à ta bdd et tu selectionne toutes tes vidéos





while ($donnees = mysql_fetch_array($reponse) ) //tu fais une boucle qui affichera les titres de tes vidéos en temps que liens avec l'id propre à chaque vidéos
{
?>
<a href="video.php?id=<?php echo $donnees['id']; ?>" title="voir">





<table width="200" border="0">
<tr>

<p align="center"> <?php echo '<img src="'.$donnees['titre'].'" width="128" height="117"> </img>' ?></tr>

<tr>	
<p align="center"> <?php echo $donnees['nom_artiste']?></p>;



</tr>
</table>

ViPHP
xTG
ViPHP | 7331 Messages

29 avr. 2012, 11:13

Il faut appliquer du CSS à ta balise table.
Par exemple float:left;
http://www.alsacreations.com/article/li ... tie-1.html

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

29 avr. 2012, 11:53

salut,

première chose : c'est pas de balise P qu'il faut mettre dans la balise tr mais des baise TD la ta table ne sert a rien, les "p" s'affiche après.

la bonne syntaxe est donc <tr><td></td></tr> avec autant de td que souhaite de colonne.


pour faire ce que tu souhaite il faut utiliser l'opérateur modulo (qui fournit le reste de la division euclidienne) pour organiser le changement de ligne.

le principe :
- un compteur qui totalise le nombre d'éléments affichés.
- un if qui compare le modulo à zéro si c'est le cas tu affiche le changement de ligne (</tr><tr>).
- afficher l'image courante dan un <td></td>

par exemple
<?php
// la requête et le début de la table est a faire avant
// nombre de colonne
$nb_par_ligne = 3;
// compteur
$i = 0;
while($data =mysql_fetch_assoc($retour_mysql_query)) {
// on vérifie si $i n'est pas égale à zéro (1ère boucle) et si le modulo est a zéro
    if ($i !== 0 && ($i%$nb_par_ligne ===0)){
        // dans ce cas on change de ligne
        echo '</tr><tr>';
    }
    // on affiche l'image courante
    echo '<td>'.$data['image'].'</td>';
// on incrémente $i, sinon ben ça marche pas :d
    $i++;
}
// on ferme correctement le tableau
while( ($i % $nb_par_ligne) !==0) {
echo '<td>&nbsp;</td>';
$i++;
echo '</tr></table>';
?>

@xTG : float:left sur une table ? la je pige pas par contre :?
@+
Il en faut peu pour être heureux ......

ViPHP
xTG
ViPHP | 7331 Messages

29 avr. 2012, 18:46

Passons, je déteste le CSS. :P

Eléphanteau du PHP | 40 Messages

02 mai 2012, 19:24

oui sa marche maintenant merci
juste une petite question mon bouton valider ne marche pas sur internet explorer et pourtant sur mozilla et chrome ça marche très bien !! :(

ViPHP
xTG
ViPHP | 7331 Messages

02 mai 2012, 19:44

Va falloir nous montrer du code. Ton formulaire ne serait-il pas géré par du javascript ?

Eléphanteau du PHP | 40 Messages

02 mai 2012, 20:01

voila le code
<form name="newfiche" id="newfiche" method="post" action="trait-new_fiche.php">
				<fieldset><legend>Nouveau fichier</legend>
					<label for="title" class="float">Nom du fichier :</label> 
					<div align="center">
					  <div align="left">
	                
	                    <div align="left">
	          <input type="text" name="title" id="title" value="<?php if(isset($_SESSION['entreT'])) echo $_SESSION['entreT']; ?>"/>
	                      <br/>
	                      
	                      
	                      
	                      <?php 
$sql = " SELECT region FROM categorie ORDER by region "; 
$result = mysql_query($sql) or die("Requete pas comprise"); 

echo "<form action='trait-new_fiche.php' method='POST'> 
<table><tr><td>					
Catégorie : <select name='categorie'>"; 
while ($row=mysql_fetch_array($result)) 
{ 
  echo"<option>$row[0]</option>";  
} 
echo"</select></td></tr> 
</table> 
</form>"; 
?> 	                      
	                         </TD>  
	                         <label for="fiche" class="float">
	                         </div>
	                      </div>
                        </div>
	                    <div align="left">Champ :</div>
</label> 
						<div class="float">
						<table width="350px" border="1"><TR id="predef">
						<TD width="26" height="26"></TD><TD width="203">Nom</TD>
						<TD><select>
							<OPTION value="txt">Texte </OPTION>
						</SELECT>
						</TD>
						</TR></table>
						<TABLE id="dataTable" width="350px" border="1">
						<TR>
						<TD><INPUT type="checkbox" name="chk"/></TD>
                       
						<?php
							$i=null;
							$b=null;	
						echo'<TD>
						<input type="text" name="txt[' . $i . ']" /></TD>
						<TD>
						<select name="type[' . $b . '][]" >
							<OPTION value="txt">Texte</OPTION>
							<OPTION value="num">Numéro</OPTION>
							<OPTION value="date">Date</OPTION>
						</SELECT>
						</TD>';?>
						</TR>
						</TABLE></div>
                
         <p> <br/><br/><br/><br/><br/>
  
				<div class="center">
					<br>
					<p class="center"><INPUT type="button" value="Ajouter un champ" style="width:130px" onclick="addRow('dataTable')" />
						<INPUT type="button" value="Supprimer un champ"  style="width:130px" onclick="deleteRow('dataTable')" /></p>
						
						<br/>
					<input type="hidden" name="validate" id="validate" value="ok"/>
                    <input type="submit" value="Valider" /></div>
				</fieldset>
			       
            </form>

ViPHP
xTG
ViPHP | 7331 Messages

02 mai 2012, 20:21

La fin de la balise form ?

Eléphanteau du PHP | 40 Messages

02 mai 2012, 20:26

voila la fin
            </form>
            
			
			
		</div>

			<?php
		include('../includes/bas.php');
		mysql_close();

		?>
		
		<?php } else 
		{
		$informations = Array(/*Membre qui essaie de se connecter alors qu'il ne l'est pas encore*/
					true,
					'Vous devez vous connecté',
					'Cette page n\'est accessible qu\'auttre membre <span class="pseudo">'.htmlspecialchars(isset($_SESSION['membre_pseudo']), ENT_QUOTES).'</span>.',
					' - <a href="'.ROOTPATH.'/membres/connexion.php">Se connecter</a>',
					ROOTPATH.'/index.php',
					5
					);
	
	require_once('../information.php');
	exit();
	} ?>
		
   

ViPHP
xTG
ViPHP | 7331 Messages

02 mai 2012, 20:30

Donc la balise de fermeture n'est pas oubliée, déjà une bonne chose.
Essaies de rajouter l'attribut name à ton bouton submit.

Sinon je ne vois pas, faudrait que tu nous expliques précisément en quoi cela ne fonctionne pas. :/

Eléphanteau du PHP | 40 Messages

02 mai 2012, 21:03

non ça marche pas :?
bon le problème quand je clique sur valider, il ne passe rien tout sa sous internet explorer
mais quand je clique sur le bouton valider sous mozilla ou chrome ça marche très bien et l'enregistrement ça passe

Eléphanteau du PHP | 40 Messages

02 mai 2012, 22:11

c'est bon merci xTG j'ai bien résolut mon problème, en fait c'était juste une fermeture d'une forme au début c'est pour cela elle empêche le bouton valider !!