Page 1 sur 1

recuperer un ID

Posté : 21 août 2007, 08:41
par santaclos
Salut
Enfaite je souhaiterai récupérer l'id d'un élément dans ma base de donnée.
J'explique:
Alors premièrement on entre un mot dans un champ puis on l'ajoute dans la base de donnée.
deuxiemement on peut faire une recherche dans la base de donnée
Puis pour fnir je voudrai faire en sorte que l'on puisse modifier les mots ou supprimer un mot dans la base de donnée.

j'ai chercherché comment faire et j'ai vu qu'il fallait avoir l'id de l'élément de la base et je ne sais vraiment pas comment le recuperer:

Pour modifier :
UPDATE exo SET message='$modif' WHERE ID='???'

Posté : 21 août 2007, 10:32
par lux
"SELECT id FROM exo WHERE ...................";
Avec un critère de recherche, par exemple ne mot entré dans le champ de recherche. :wink:

Posté : 21 août 2007, 10:42
par santaclos
ok merci jessai je te tiens au courant

[EDIT]

ca y est c'est fait, j'ai voulu l'afficher pour verifier mais ca n'affiche rien:
else if (isset($_POST['modif']))
	{
		if ($_POST['modifier'] != NULL)
		{
			/*$sql = "UPDATE exo SET message='$del' WHERE ID='64'";*/
			$my_post = $_POST['modifier'];
			$sql = "SELECT ID FROM exo WHERE message='$my_post'";
			$req = mysql_query($sql);
			while ($result = mysql_fetch_array($req))
			{
				echo ("- debut verif $my_post -");
				echo($result['id']);
				echo("- fin verif");
			}
		}
	}
resultat: - Debut verif rupteur -- Fin verif (rupteur c'est ce que j'ai tapé et les -- c'est la que l'id devrai s'afficher)

je pense que ce n'est pas fetch_array qu'il faut que j'utilise nan?

Posté : 21 août 2007, 10:59
par Ryle
Attention, si ta base de données se trouve sur un système unix, les index retournés sont sensiblse à la casse utilisée dans la requête : Si tu fais un "SELECT ID ... " c'est $result['ID'] qu'il te faut utiliser et non $result['id']

Rappel
mysql_fetch_row() te retourne un tableau indexé ([0] => premier élément, [1] => 2ème élément, ...)
mysql_fetch_assoc() te retourne un tabealu associatif ([nom_champ1] => premier élément, [nom_champ2] => 2ème élément, ...)
mysql_fetch_array() te fait un mix des deux ([0] => premier élément, [nom_champ1] => premier élément, [1] => 2ème élément, [nom_champ2] => 2ème élément, ...)

Posté : 21 août 2007, 10:59
par lux
Pas besoin dess () autour des echo. Ensuite tu récupères ID et tu fais un echo id. Attention donc a la casse ! (Majuscules/minuscules)

Le fetch array c'est bon, reécris comme ça :

while ($result = mysql_fetch_array($req)) 
{ 
 echo '- debut verif' . $my_post . '-' .  $result['ID'] . '- fin verif'; 
}
J'ai tout mis dans une ligne et concaténacé tout le bazard avec des points. Les chaines des texte sont entre guillemets simples '', les variables entre les points, regarde comment j'ai structuré.

Posté : 21 août 2007, 11:04
par santaclos
haaaa vous dechirez tout!!! merci beaucoup les gars :lol:

ca marche nikel a cause d'une erreur d'etourderie

et merci pour les optimisations :wink:

Posté : 21 août 2007, 11:10
par lux
De rien.

Pense a mettre résolu alors :wink:

Posté : 21 août 2007, 11:12
par santaclos
c'est fait :wink: