Probleme pour afficher le bon fichier

Résolu/Fermé
blo75 Messages postés 9 Date d'inscription dimanche 7 septembre 2014 Statut Membre Dernière intervention 11 septembre 2014 - 7 sept. 2014 à 16:11
blo75 Messages postés 9 Date d'inscription dimanche 7 septembre 2014 Statut Membre Dernière intervention 11 septembre 2014 - 11 sept. 2014 à 16:49
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 mercredi 25 février 2009 Statut Membre Dernière intervention 22 juillet 2019 209
Modifié par Fallentree le 8/09/2014 à 12:01
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 mercredi 25 février 2009 Statut Membre Dernière intervention 22 juillet 2019 209
Modifié par Fallentree le 8/09/2014 à 12:04
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 dimanche 7 septembre 2014 Statut Membre Dernière intervention 11 septembre 2014
9 sept. 2014 à 13:19
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 mercredi 25 février 2009 Statut Membre Dernière intervention 22 juillet 2019 209
Modifié par Fallentree le 9/09/2014 à 14:08
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 dimanche 7 septembre 2014 Statut Membre Dernière intervention 11 septembre 2014
9 sept. 2014 à 14:24
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 mercredi 25 février 2009 Statut Membre Dernière intervention 22 juillet 2019 209
9 sept. 2014 à 18:10
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 dimanche 7 septembre 2014 Statut Membre Dernière intervention 11 septembre 2014
9 sept. 2014 à 21:21
Comment est ce possible puisque je n'ai qu'un seul input type="checkbox" ????
0
Fallentree Messages postés 2309 Date d'inscription mercredi 25 février 2009 Statut Membre Dernière intervention 22 juillet 2019 209
10 sept. 2014 à 13:25
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 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 228
10 sept. 2014 à 21:53
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