[AJAX] Récupérer La Valeur D'un Champ
Bonjour,
J'ai un formulaire qui permet d'insérer un artiste dans une base de données.
La première insertion se passe parfaitement.
Une fois inséré je fais apparaitre deux liens(grâce à un javascript et ajax) (modification et suppression)
Un click sur modification fait apparaitre un champ text reprenant l'artiste que l'on vient d'entrer pour modification.
Je n'arrive pas à récupérer la valeur de ce champ.
Voici le formulaire avec la ligne posant problème en rouge
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| <form id="formArtists" action="newArtists.php" method="post">
Entrez le nom de l'artiste à ajouter :
<input type="text" name="artist" value="" />
<input class="submitButton" type="submit" value="Valider" />
</form>
<div id="artistResponse">
<p id="intro">Vous venez d'insérer l'artiste <span class="insertedArtistName"></span>, ID n°<span class="insertedArtistId"></span>.<br /><br />
Vous pouvez <a id="modifyArtist" href="#">modifier</a> ou <a id="deleteArtist" href="#">supprimer</a> cette entrée.
</p>
<div id="modifyArtistBloc">
<form id="formArtistModify" action="updateArtist.php" method="post">
Modifiez le nom de l'artiste :
<input class="artistModifyField" type="text" name="artist_modif" value="" />
<input class="artistIdField" type="hidden" name="artist_id" value="" />
<input class="submitButton" type="submit" value="Modifier" />
<input class="cancelButton" type="button" value="Annuler" />
</form> |
Voici maintenant le PHP permettant la modification
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| <?php include_once("connexion.php"); ?>
<?php
mysql_select_db($database, $base);
//si modification
$query_modifArtist = sprintf("UPDATE artists SET art_name = '".$_POST['artist_modif']."' WHERE art_id = '".$_POST['artist_id']."'");
$artist = mysql_query($query_modifArtist, $base) or die(mysql_error());
$row_artist = mysql_fetch_assoc($artist);
$result = array();
do {
$result[] = $row_artist;
} while ($row_artist = mysql_fetch_object($artist));
echo '{"artist":'.json_encode($result).'}';
?> |
Merci d'avance
Ne pas confondre UPDATE etSELECT
Salut,
Tu écris:
Code:
1 2 3
| $query_modifArtist = sprintf("UPDATE artists SET art_name = '".$_POST['artist_modif']."' WHERE art_id = '".$_POST['artist_id']."'");
$artist = mysql_query($query_modifArtist, $base) or die(mysql_error());
$row_artist = mysql_fetch_assoc($artist); |
Le souci c'est que ce n'est pas une requête SELECT donc ta variable $artist ne contient pas de lignes de données (ressource) mais uniquement true/false pour indiquer que ta mise à jour a été correctement effectuée ou pas. D'où tes erreurs de mysql_fetch_assoc car $artist n'est pas une ressource de curseur.
Si tu veux obtenir de nouveau les données de la base, tu dois refaire un SELECT après ton UPDATE.
Bon dev,
ERE