PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 Re : Forum Général PHP » Modifier plusieurs champs » 06-08-2010 14:23:15

Bonjour,
J'ai effectivement essayé avec &&, les valeurs non désirées remontaient toujours…

Un print_r($_POST) me renvoyait:

Array ( [3] => Les sorties [9] => Les ateliers [10] => Les fêtes [ok] => Modifier les noms [v] => y )

Pour rappel, mon formulaire:

<form method="post">
<input type="text" value="Les sorties" name="3" /><br />
<input type="text" value="Les ateliers" name="9" /><br />
<input type="text" value="Les fêtes" name="10" /><br />
<br /><input type="submit" name="ok" value="Modifier les noms" />
<input type="hidden" name="v" value="y" />
</form>

…et ma boucle foreach:

foreach($tableau as $idAlbum => $album) {        
    if(($idAlbum != 'ok') && ($idAlbum != 'y')) {
        echo $idAlbum.' - '.$album.'<br />';
    }
}
 

Je ne vois pas ce qui cloche avec le code précédent, peut-être qu'un œil averti…


Quoiqu'il en soit, je viens de faire le test sur $clef autrement:

foreach($tableau as $idAlbum => $album) {        
    if (is_numeric($idAlbum)) {
        echo $idAlbum.' - '.$album.'<br />';
    }
}
 

… Et là ça fonctionne big_smile

Ceci dit, si jamais vous voyait pourquoi le premier test ne fonctionne pas, ça m'intéresse fortement!

#2 Re : Forum Général PHP » Modifier plusieurs champs » 06-08-2010 14:23:15

Bonjour,
Alors autant je conçois ce que tu dis, autant je n'arrive pas à le coder yikes

Pourtant, il me semble qu'avec le code suivant ça devrait fonctionner:


foreach($tableau as $idAlbum => $album) {  
  if(($idAlbum != 'y') || ($idAlbum != 'ok')) {
    echo $idAlbum.' - '.$album.'<br />';
  }
}
 

Les valeurs attribuées à v et ok remontent toujours…

Une erreur de syntaxe ou bien?

#3 Re : Forum Général PHP » Modifier plusieurs champs » 06-08-2010 14:23:15

Bon, j'arrive à un début de quelque chose…

Mon formulaire ressemble à ça:

<form method="post">
<input type="text" value="Les sorties" name="3" /><br />
<input type="text" value="Les ateliers" name="9" /><br />
<input type="text" value="Les fêtes" name="10" /><br />
<input type="hidden" name="v" value="y" /><br />
<input type="submit" name="ok" value="Modifier les noms" />
</form>

Je précise que j'ai besoin de l'<input type"hidden">.

un print_r($_POST) me renvoie

Array ( [3] => Les sorties [9] => Les ateliers [10] => Les fêtes [ok] => Modifier les noms [v] => y )

Ce qui me pose problème, c'est la remontée de l'<input type="hidden"> ainsi que le submit…
Je peux éventuellement enlever l'attribut name du submit, mais j'ai besoin de mon champ hidden hmm

Y a-t'il moyen de ne pas prendre ces deux input en compte pour la boucle foreach?

#4 Re : Forum Général PHP » Modifier plusieurs champs » 06-08-2010 14:23:15

Merci.
Mmmh… Donc j'avais bien compris, mais j'ai beaucoup de mal avec foreach($tableau as $clé => $valeur); j'ai du mal à intégrer ce fonctionnement.
J'essaie ça ce soir, je reposte pour dire comment ça c'est passé dès que j'ai avancé smile

#5 Re : Forum Général PHP » Modifier plusieurs champs » 06-08-2010 14:23:15

Merci pour ta réponse rapide, xTG.
Je crois que j'ai globalement compris, mais pour être sûr, si tu veux/peux prendre le temps de donner un peu plus d'explications, elles seront les bienvenues smile

Notamment sur:

xTG a écrit :

Concernant l'ajout lorsque tu as tes ids le mieux serai de te former un tableau avec l'id de l'album en clé et en valeur le nom de l'album.
Et tu n'as plus qu'à faire une boucle parcourant ton tableau et faisant ta requête UPDATE.

Encore merci.

#6 Re : Forum Général PHP » Centrer une image » 03-08-2010 20:06:24

xTG a écrit :
<td><center><?php echo '<a href="' . tep_href_link(FILENAME_DEFAULT) . '">' . tep_image(DIR_WS_IMAGES . 'SimageDG.gif', STORE_NAME) . '</a>'; ?></center></td>

+1 pour les feuilles de styles…

Brutalement (les styles en dur dans le code), ça pourrait être ça:

<td style="text-align: center;"><?php echo '<a href="' . tep_href_link(FILENAME_DEFAULT) . '">' . tep_image(DIR_WS_IMAGES . 'SimageDG.gif', STORE_NAME) . '</a>'; ?></td>

Sachant cependant qu'il vaut mieux externaliser les css wink

#7 Forum Général PHP » Modifier plusieurs champs » 06-08-2010 14:23:15

arty_pop
Réponses : 10

Bonjour,
Je cherche un moyen de mettre à jour plusieurs champs de ma base de données en même temps… Je m'explique:
J'affiche le contenu d'une table grâce au code suivant:

    while ($dataAlbum = mysql_fetch_assoc($resAlbum)) {
      $idAlbum  = $dataAlbum[idAlbum];
      $album    = $dataAlbum[album];
     
      $s .= '<input type="text" value="'.$album.'" id="'.$idAlbum.'" /><br />'."\n";
     
    } // fin while ($dataAlbum = mysql_fetch_assoc($resAlbum)) {
 
    echo '<form method="post">'."\n";
    echo $s;
    echo '<input type="submit" name="ok" value="Modifier les noms" />'."\n";
    echo '<input type="hidden" name="v" value="y" />'."\n";
    echo '</form>'."\n";
 

Tout se passe bien, je récupère correctement les données

<form method="post">
<input type="text" value="Les sorties" id="3" />
<input type="text" value="Les ateliers" id="9" />
<input type="text" value="Les fêtes" id="10" />
<input type="submit" name="ok" value="Modifier les noms" />
<input type="hidden" name="v" value="y" />
</form>

Je souhaite, lorsqu'on clique sur le submit, que toutes les values modifiées le soient dans ma base de données.

En d'autres termes, comment écrire "au clic sur le submit, modifie tous les albums correspondants aux idAlbums"?

Merci pour vos réponses ou vos pistes smile

Pied de page des forums

Propulsé par FluxBB