probleme foreach et while combiné

Eléphanteau du PHP | 24 Messages

10 nov. 2012, 20:42

Bonjour, j'ai un probleme avec ce code. j'ai utilisé le script "plupload pour ajouter plusieurs photos en meme temps.

et je voudrai afficher en plus l'id à chaque image, le soucis c que en faisant ce code ci, ca affiche 7 fois 7 images, les images inséré dans la base.

j'ai essayé de faire autrement en bougeant mon while, mais là il affiche tjs la meme photos.

merci d'avance pour l'aide

Code : Tout sélectionner

<div id="filelist"> <?php while($data=mysql_fetch_array($id)){ ?> <?php foreach(glob('../img/*.*') as $v):?> <div class="file"> <img src="<?php echo $v;?>" height="70" id="imgup"/> <?php echo basename($v);?> <?php echo "{$data['id']}";?> <div id="actions"> <a href="<?php echo basename($v);?>" class="del">supprimer</a> </div> <div> <?php endforeach;?> <?php }?>

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

10 nov. 2012, 23:40

salut,


Il y a une corrélation entre les données de la base et les fichiers ?

si tu répond a cette question tu aura ta solution ;)


@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 24 Messages

14 nov. 2012, 13:46

oui oui, il y a bien un lien entre les images affichées et les images dans la base,

le nombe s'ajoute bien dans la table que j'ai créé.

Voici la page d'ajout d'image,

Code : Tout sélectionner

<?php require_once("connexionbdd/connexionBdd.inc.php"); $categorie=mysql_query("SELECT Categorie FROM categorie") or die ("Erreur Requête ville départ"); $id=mysql_query("SELECT * FROM photos"); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Notaire Serge Cambier</title> <META HTTP-EQUIV="Refresh" CONTENT="30"> <link href="../css/style.css" rel="stylesheet" type="text/css" media="screen" /> <link href='http://fonts.googleapis.com/css?family=Amaranth&v2' rel='stylesheet' type='text/css'><!-- font google--> <link rel="stylesheet" href="css/admin.css"/> <script type="text/javascript" src="js/jquery-1.4.4.js"></script> <!--[if lt IE 9]> <script src="//html5shim.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> <!--script border radius--> <script type="text/javascript" src="js/borderadiusie/DD_roundies_0.0.2a.js"></script> <script type="text/javascript" src="js/script ie border radius/border radius.js"></script> </head> <body> <div id="container"> <div id="header"></div> <!-- menu haut--> <?php include("menuhaut.inc.php"); ?> <!-- menu haut--> <div id="contenu"> <div id="menuadminbien"> <ul> <li><a href="listes_des_biens.php">Liste des biens</a></li> <li><a href="ajouterbien.php">Ajouter un bien</a></li> <li><a href="listes_des_categories.php">Listes des catégories</a></li> <li><a href="ajoutercategorie.php">Ajouter des catégories</a></li> </ul> </div> <br /><br /><br /><br /><br /><br /><br /><br /><br /> <form method="post" action="ajouterimage.php" enctype="multipart/form-data"> Reference : <input type="text" name="ref" id="ref" /> <input type="submit" id="upload" name="envoyer" value="envoyer"/> </form> <div id="plupload"> <div id="droparea"> <p>déposer vos fichiers ici</p> <span class="or">ou</span> <a href="#"id="browse"> Parcourir</a> </div> <div id="filelist"> <?php while($data=mysql_fetch_array($id)){ ?> <?php foreach(glob('../img/*.*') as $v):?> <div class="file"> <img src="<?php echo $v;?>" height="70" id="imgup"/> <?php echo basename($v);?> <?php echo "{$data['id']}";?> <div id="actions"> <a href="<?php echo basename($v);?>" class="del">supprimer</a> </div> <div> <?php endforeach;?> <?php }?> </div> </div> <!-- partie plupload--> <script type="text/javascript"src="js/plupload/plupload.js"></script> <script type="text/javascript"src="js/plupload/plupload.flash.js"></script> <script type="text/javascript"src="js/plupload/plupload.html5.js"></script> <script type="text/javascript"src="js/main.js"></script> </div> </div> </body> </html>
et ici la page de gestion

Code : Tout sélectionner

<?php require_once("connexionbdd/connexionBdd.inc.php"); if(isset($_GET['action']) && $_GET['action'] =='delete'){ //penser à sécuriser cette ligne(vérifier le format de file) unlink('../img/'.$_GET['file']); die(); $requete="DELETE FROM bien WHERE id='".$_GET['id']."' "; } $file = $_FILES['file']; $name = $file['name']; if(filesize($file['tmp_name'])>5000000){ die('{"error":true, "message" :"Image trop grande"}'); } if(file_exists('../img/'.$name)){ die('{"error":true, "message" :"L\'mage esiste déjà"}'); } //penser à sécuriser cette ligne(vérifier le format de file) move_uploaded_file($_FILES['file']['tmp_name'],'../img/'.$_FILES['file']['name']); mysql_query("INSERT INTO photos VALUES( '".mysql_real_escape_string('')."', '".mysql_real_escape_string($name)."', '".mysql_real_escape_string($_POST["ref"])."' ) "); // on ferme la connection mysql donc ci-dessous plus de sql mysql_close(); $v = 'upload/'.$_FILES['file']['name']; $html ='<div class="file"><img src="'.$v.'"/>'.basename($v).'<div id="actions"><a href="'.basename($v).'" class="del">supprimer</a></div><div>'; $html = str_replace('"','\\"',$html); die('{"error":false, "html" :"'.$html.'"}'); ?>

Mammouth du PHP | 2278 Messages

15 nov. 2012, 09:44

Voila un bout de code synonyme auquel j'ai ajouté les assertions

$chaine =" <div id="filelist">";
while($data=mysql_fetch_array($id))
{
//tant que $date existe
$id = $data['id']; //id ça correspond à quoi dans la réalité?
foreach(glob('../img/*.*') as $v)
//pour chaque fichier qui se trouve dans le dossier indiqué en le renommant $v
$b_name = basename($v);//lu sur le disque
//$id = $data['id']; devrait être monté avant foreach
$chaine .="
<div class='file'>
<img src='$v;?' height='70' id='imgup' '/>
$b_name $id
<div id='actions'>
<a href='$b_name' class='del'>supprimer</a>
</div>
<div>";
endforeach;
}
print "$chaine";
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD