8795 sujets

Développement web côté serveur, CMS

Bonjour,

j'ai une base de donnée affiché dans un tableau, que je souhaite lui faire un update.
Je simplifie ma base :


Table USER
IDUser int auto_incrment
nameUser varchar


			while ($data=mysql_fetch_array($query)) {
				echo "<tr>";

					echo "<td><a href='?action=$urlUpdate&data=$data'>
						<img src='images/update.png' /></a></td>"; //pour afficher une image et quand tu clic dessus ça t'envois vers le formulaire avec les donnée dans data

					for ($i=0;$i<$nbfields;$i++) {
						echo '<td>' . $data[$i] . '</td>'; affichage du tableau
					}


				echo '</tr>';
			}	



Le tableau est affiché

Et je veux envoyer les donnée dans un tableau

le formulaire est le suivant :




	<?php 
	$data=$_GET['data'];
	?>
	
	<form action="<?php $_SERVER['PHP_SELF'] ?>" method="post">
		<label for="nameUser">Name : </label>
		<input type="text" name="nameUser" id="nameUser" value="<?php echo $data['nameUser'] ?>" /><br />
		<p><input type="submit" value="Submit" /></p>
	</form>



dans le champs de texte il y a écrit : 'A'

en faisant un print_r($data) il y a écrit ArrayArrayArrayArray .......


Comme je dois m'y prendre?
j'ai eu l'idée de mettre sa sous le while :

$tab_row = array($row[0]=>$row[1]);
	

et l'affichage est le suivant :

a écrit :
Array ( [2] => Mario ) Array ( [3] => Julien ) Array ( [4] => Christoph ) Array ( [5] => Marc ) Array ( [6] => Gaelle ) Array ( [7] => Alex ) Array ( [8] => Stephane )


se qui me semble juste.


et pour l'envoyer c'est toujours :

	<a href='?action=$urlUpdate&data=$tab_row'> //on va à la page contenu dans urlUpdate et data reçoit $tab_row (en GET, donc par l'adresse)
						





dans la page du formulaire j'écris :



	<?php 
	$data=$_GET['data'];
	print_r($data);
	?>




et m'affiche :


a écrit :
Array



Et rien d'autre !
décidément il est tétu ^^


<a href='?action=$urlUpdate&data=(serialize($row))'>

renvoie : Array ( [2] => Mario ) Array ( [3] => Julien ) Array ( [4] => Christoph ) Array ( [5] => Marc ) Array ( [6] => Gaelle ) Array ( [7] => Alex ) Array ( [8] => Stephane )

donc c'est ok

et

<?php
$data=($_GET['data']);
print_r($data);
?>


renvoie : (serialize(Array))

et

<input type="text" name="nameUser" id="nameUser" value="<?php echo $data ?>" /><br />

renvoie : (serialize(Array))
dsl ça marche

mais un autre problème ce pose

comme lire dans $data sans passé par un foreach?


	<?php 
	$data=unserialize($_GET['data']);
	print_r($data);
	?>


donne

Array ( [0] => 3 [IDUser] => 3 [1] => Julien [nameUser] => Julien )


je veux tout de suite affiché Julien en écrivant : $data[nameUser] mais celà ne fonctionne pas
décidément je tellement d'erreurs aujoud'hui ..

$data['nameUser'] .... faut mettre des guillemets ...

en tt cas merci pour m'avoir répondu

bonne après midi