Probleme pour afficher le bon fichier

Résolu
blo75 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   -  
blo75 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour ,
j'ai une page ou il y a toute les ligne de phpmyadmin afficher et a droite de chaque ligne il y a un lien qui envoie sur les paramètre des fichiers uploader (chaque ligne de tableau correspond aux information d'un fichier) ou on peut ajouter une description ou changer le nom du fichier, pour l'instant j'y arrive bien mais là ou sa se corse c'est pour définir quel ligne , je m'explique quand je clique sur le lien sa m'envoie sur la page mais sa m'affiche toujours le même nom de fichier (le dernier) Voila le code :

la page php qui affiche toute les lignes de la base de donnée :



<?php
$base = mysql_query('SELECT * FROM upload');
$email = $_SESSION['email'];

while($donne = mysql_fetch_array($base))
{
?>



<table>
<form method="post" name="monform" id="monform" action="#">
<tr id="page1">

<td><?php echo $donne['nom']; ?></td>
<td><?php echo $donne['taille']; ?></td>
<td><?php echo $donne['date']; ?></td>
<td><a href="modifier.php"><img src="modifier.png" title="Modifier" id="modifier" /> </a></td>

</tr>
</form>
</table>



<?php
}
?>




Et là la page pour modifier les infos du fichier :

<?php
$base = mysql_query('SELECT * FROM upload');
while($donne = mysql_fetch_array($base))
{
?>








<input type="text" id="filename" value="<?php echo $donne['nom']; ?>" /><br /><br />

<textarea id="filedescription" /></textarea><br /><br /><br />

<input type="submit" value="Soumettre" id="filesubmit" />







<?php
}
?>

Malheureusement comme je vous est dit dans le value sa m'affiche toujours le nom du dernier fichier.
A voir également:

3 réponses

Fallentree Messages postés 2309 Date d'inscription   Statut Membre Dernière intervention   209
 
ton problème si j'ai bien compris, provient du deuxième code ...
si tu regarde ton code source de ta page de modification du nom de fichier, tu remarqueras qu'elle a une liste de input ayant tous le même identifiant id ...
Ça peut pas coller...
Du coup, je te propose d'ajouter un formulaire de sortie avec une liste de champs caché qui auront pour but de gérer les passage de paramètres ...
Pour faire suivre les valeurs a changer, sur l'événement onchange du input tu fais un copier coller de la valeur.
Comprends tu?
0
Fallentree Messages postés 2309 Date d'inscription   Statut Membre Dernière intervention   209
 
sinon lorsque tu fais modifier.php, il faut passer un parametre genre modifier.php?id=5 et changer ton fichier modifier.php avec une gestion des parametres $_GET pour creer la bonne requete
0
blo75 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
 
Re bonjour,
désolé du retard mais je crois que je vais devenir fous ,voila ou j'en suis :
Au lieu de mettre un lien pour chaque ligne du tableau je pense que ce serai plus simple d'utiliser un checkbox pour chaque ligne avec un bouton ( <input type="button" /> ) en haut de la page qui permettra de supprimer les lignes du tableau sélectionner grâce au checkbox.
Le problème est simple RIEN ne marche peut être que vous y verrez plus claire avec le code :


<input type="button" name="supprimer" value="Supprimer" /> // ce code ce situe en haut de la page vous l'aurez sûrement compris c'est le bouton qui supprimera les lignes du tableau sélectionner







<?php
$sql = mysql_query('SELECT * FROM upload');
$email = $_SESSION['email'];


while($donne = mysql_fetch_array($sql))
{
$id = $donne['id'];
?>



<form action="#" method="post">
<table style="margin-left: 164px; margin-top: 2px;">
<tr id="page5">

<td><input name="choix[]" type="checkbox" value="<?php echo $id; ?>" /></td>
<td style="padding-left: 20px;width: 400px;" name="sais"><?php echo $donne['nom']; ?></td>
<td style="padding-left: 85px;width: 331px;"><a id="li1" href="texte/<?php echo $email;?>/<?php echo $donne['lien']; ?>"><?php echo $donne['lien']; ?></a></td>
<td style="width: 100px;padding-left: 35px;"><?php echo $donne['taille']; ?></td>
<td style="padding-left: 35px;"><?php echo $donne['date']; ?></td>

</tr>
</table>
</form>

<?php
}
?>


J'ai tenté et retenté plein de code mais a chaque fois rien ne marche
du cote des formulaire j'ai essayé de tout englobé ou ou d'englobé les deux bloc avec un formulaire chacun.

A oui aussi avant de finir je vous prévient qu'au mois d'avril je ne savais meme pas que le HTML existait donc si vous pouviez évitez les vocabulaire incompréhensible .
Merci d'avance a ceux qui auront le courage de lire tout sa malgré les faute d'orthographe.
0
Fallentree Messages postés 2309 Date d'inscription   Statut Membre Dernière intervention   209
 
Bon, le vois que tu rames un max ...
je te conseilles déjà de faire un print_r() de ton $_POST pour voir les variables retournées de ton formulaire...
Tu verras que c'est le bordel !!!?
chaque éléments de ton formulaire doit être unique et les tableaux ne peuvent être passés comme paramètre via le $_POST... exple < input name="choix[]" type="checkbox" ???

pour ruser, autrement dit pour passer plusieurs valeurs à supprimer, tu peux utiliser une chaîne de caractère que tu transformes en tableau après réception a l'aide de la fonction php implode()
https://www.php.net/manual/fr/function.implode.php

si tu veux avoir que les éléments a supprimer comme paramètre, tu peux rajouter un événement sur ton input ...

par exemple non formel
< input name="choix<?php echo $id; ?>" type="checkbox"  onclick="if (this.checked) this.value=1; else this.value=false;alert(this.value);"

dans le cas où toutes les lignes seront passées au formulaires ... ("on se mélange les crayons mais bon passons")

par contre si tu sors le formulaire du tableau
tu peux y joindre un ou des champs caché type texte qui renverront l'id de l'élément a supprimer...
Deux solutions avec l'implode mais probleme de doublon si l'on decoches l element
l'autre consiste a rajouter a chaque fois un champs caché en utilisisant un code javascript ...
https://www.w3schools.com/jsref/met_document_createelement.asp

pas le temps de faire mieux...
0
blo75 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
 
Salut je vien de voir ton message je vais creuser sa je repasserai des que j'ai des nouvelle surement ce soir au pire demain encore merci
0
Fallentree Messages postés 2309 Date d'inscription   Statut Membre Dernière intervention   209
 
Je viens de remarquer que lorsque type="checkbox" n'est pas checked, celui-ci n'est passé pas comme paramètre ....
ton problème se résout en changeant les names de tes checkebox ...
0
blo75 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
 
Comment est ce possible puisque je n'ai qu'un seul input type="checkbox" ????
0
Fallentree Messages postés 2309 Date d'inscription   Statut Membre Dernière intervention   209
 
tu as autant de checkbox que d'éléments dans ta requete
tu as un
while($donne = mysql_fetch_array($sql))
...
0
ElementW Messages postés 4814 Date d'inscription   Statut Contributeur Dernière intervention   1 223
 
Bwaaaaa! PHP5.6 est sorti, mysql_query et les autres fonctions mysql_* n'existent plus (et quoi qu'il en soit l'extension MySQL est mauvaise, passe a mysqli/PDO)!
0