|
|
|
|
Posté par
tkz, le dimanche 21 octobre 2007 à 18:52:33Configuration: Windows XP Firefox 1.5.0.10
salut,
à première vue, ça vient de la variable que tu utilises pour l'affichage dans ton foreach : c'est pas $array qui change mais $var. c'est donc elle qu'il te faut utiliser pour ton echo. Essaye ça et dis moi si ça ne fonctionne toujours pas correctement |
Salut, merci pour ta reponse, j'ai reussi finalement a recuperer mes post en contournant le probleme. J'ai ajouté un bouton modifier dans chaque case, meme si c'est pas top au niveau graphique.
//reprise du code du premier message $id=$array[1][4]; $case="<form method='POST' action='mod.php?c=$id'><table> <tr><td><img src='".$array[1][0]."' width='75' height='75'></img></td><tr> <tr><td><a href=ajout.php?m=1&i=$id'>Modifier l'image</a></td></tr> <tr><td><input size='25' maxlenght='50' name='name".$id."' value=".stripslashes($array[1][1])."></td></tr> <tr><td><input size='25' maxlenght='50' name='url".$id."' value='".$array[1][2]."'></td></tr> <tr><td>Position :<input size='1' maxlenght='3' name='ordre".$id."' value='".$array[1][3]."'></td></tr> <tr><td><input type='submit' value='Modifier'></td></tr></table></form>"; Pour recuperer les post je procede comme ceci : if(!empty($_GET)) { $url="url".$_GET['c']; $name="name".$_GET['c']; $ordre="ordre".$_GET['c']; eval('$url = $_POST["'.$url.'"];'); //ici eval('$name = $_POST["'.$name.'"];'); eval('$ordre = $_POST["'.$ordre.'"];'); if(!empty($name)) { if(!empty($url)) { if(!empty($ordre)|| $ordre==0) { $ok=requete('select count(*)as `total` from `references` where ac="1";'); $nor=mysql_fetch_object($ok); if(($ordre <= $nor->total) && $ordre != 0) { $namef=str_replace(" ", " ", $name); $namef=str_replace("'", "'", $namef); $g=requete('select nomref, lienref, ordre from `references` where id_ref="'.$_GET['c'].'" ;'); $go=mysql_fetch_object($g); $ref=$go->nomref; if(strpos($go,$namef) === true) { $message="Pas de modification ?"; $urlf="mod.php"; $att=""; } //echanger l'ordre Par contre, quand je veux afficher "pas de modification", aucune fonction de comparaison ne fonctionne. Quand j'echo le type de $namef ou $name et de $go->nomref, il s'affiche string, mais impossible de les comparer. Du coup, meme si aucune modification n'est faite, ca affiche modification reussie. Ce n'est pas vraiment genant, mais si on ne fait pas attention, on peut modifier une case sans savoir... Si tu as une petite idee pour comparer ces deux valeurs, ca serait genial, j'ai deja presque utilisé toutes les fonctions str*. En tout cas, merci encore! |
Ah, j'oubliais aussi, qd je defini la taille du tableau, il ne faut pas utiliser la fonction round, mais ceil comme ca:
$rows=ceil($nb/4); //nombre de lignes qui affichent 4 refs round renvoie l'entier le plus proche, alors que ceil renverra toujours celui au dessus. |
Resalut ! En fait, la comparaison fonctionne nickel, meme pas besoin de fonction particuliere. C'etait juste mon if/else qui etait mal construit , voila le code :
if(($ordre <= $nor->total) && $ordre != 0) { $namef=str_replace(" ", " ", $name); $namef=str_replace("'", "'", $namef); $g=requete('select nomref, lienref, ordre from `references` where id_ref="'.$_GET['c'].'" ;'); $go=mysql_fetch_object($g); if($name!=$go->nomref || $url!=$go->lienref || $ordre!=$go->ordre) //ici { //echanger l'ordre $i=requete('select ordre from `references` where id_ref="'.$_GET['c'].'";'); $id=mysql_fetch_object($i); $ech=requete('update `references` set ordre="'.$id->ordre.'" where ordre="'.$ordre.'";'); //modifier l'enregistrement $ech2=requete('update `references` set ordre="'.$ordre.'" where id_ref="'.$_GET['c'].'";'); $modif=requete('update `references` set nomref="'.addslashes($namef).'", lienref="'.$url.'" where id_ref="'.$_GET['c'].'";'); if($ech2) { $message=" Modification effectuée !"; $urlf="mod.php"; $att=""; } } else { $message="Pas de modification ?"; $urlf="mod.php"; $att=""; } } Voila ! Bonne soirée !! |
| 06/11 19h24 | [PHP] Upload de fichiers | PHP |
| 14/11 17h09 | Installation rapide de LAMP (Apache+MySql+php) sous Linux | Debian |
| 02/11 11h14 | [Webmaster] Un formulaire de contact pour votre site | Webmaster |
| 27/03 16h03 | [PHP] Méthodes de débogage | PHP |
| 27/10 00h37 | [PHP] Les ressemblances à ne pas confondre | PHP |
| 26/04 16h36 | [PHP+Formulaire+MySQL]récupération de données | 7 |
| 16/05 10h20 | [PHP+liste déroulante+récupération variable] | 1 |
| 14/09 12h26 | Récupération variable SQL en PHP | 8 |
| 12/06 17h37 | Probleme récupération variable php | 10 |
![]() | PHP Edit - PHPEdit est un environnement de développement intégré (IDE) sous Windows pour le langage PHP. Il offre un grand nombre de... | Catégorie: PHP Licence: Freeware/gratuit |
![]() | WAMP Server - WAMP5 (WAMP signifiant Windows Apache Mysql PHP) est une plateforme de développement Web sous Windows. Il vous permet de... | Catégorie: Serveurs Licence: Freeware/gratuit |
![]() | PSPad - PSPad est un excellent éditeur de texte. Il est utile pour travailler sur du simple texte, mais aussi sur du HTML, CSS,... | Catégorie: Développement Licence: Freeware/gratuit |
![]() | SoftPerfect File Recovery - SoftPerfect File Recovery (seulement 253 ko) permet de récupérer des fichiers effacés par inadvertance, même après vidage de... | Catégorie: Sauvegarde Licence: Freeware/gratuit |
![]() | Formula One 06 | Catégorie: Jeu vidéo PSP | 16.99 € La Redoute FR |
![]() | Logitech Formula Vibration Feedback | Catégorie: Joystick | 32.08 € Toutpourlamicro.com |
![]() | Formula One 06 | Catégorie: Jeu vidéo PS2 | 16.99 € 3 Suisses FR |
![]() | ASUS Striker II Formula | Catégorie: Carte mère | 217.50 € MicroChoix |