Modifier BDD

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Modifier BDD

par charabia » 17 mars 2009, 13:06

N'oublie pas le résolu ;)

par Romuald632 » 17 mars 2009, 13:01

Ok ça marche, merci pour ton aide et le temps passé pour m'aider ! :D

par charabia » 17 mars 2009, 12:54

while ($affichage = mysql_fetch_assoc($webcam))
{
	echo 'Modifier cette webcam<br />
		<form action="update_webcam.php" method="post">
		<p>
		Continent : <input name="id_continent" type="text" value="'.$affichage['id_continent'].'" /><br />
		Sous-continent : <input name="id_sous_continent" type="text" value="'.$affichage['id_sous_continent'].'" /><br />
		Pays : <input name="id_pays" type="text" value="'.$affichage['id_pays'].'" /><br />
		Critère : <input name="id_critere" type="text" value="'.$affichage['id_critere'].'" /><br />
		Ville : <input name="ville" type="text" value="'.$affichage['ville'].'" /><br />
		URL : <input name="url" type="text" value="'.$affichage['url'].'" /><br />
		Commentaire : <input name="commentaire" type="text" value="'.$affichage['commentaire'].'" /><br />
		<input type="hidden" name="id_reference" value="'.$affichage['id'].'" />
		<input name="Envoyer" type="submit" value="Mettre à jour cette webcam"/>
		</p>
		</form>';
}
?>

par Romuald632 » 17 mars 2009, 12:47

Euh... j'y arrive pas

par charabia » 17 mars 2009, 12:26

Intègre aussi ton <form> dans la boucle sinon je ne suis pas sûr que ça fonctionne.

par Romuald632 » 17 mars 2009, 12:24

J'ai fait comme ça
<?php 
 
$db = mysql_connect('localhost', 'root', '')  or die('Erreur de connexion '.mysql_error());  
mysql_select_db('voyagez_vol',$db)  or die('Erreur de selection '.mysql_error());

$webcam = mysql_query("SELECT DISTINCT id,id_continent,id_sous_continent,id_pays,id_critere,ville,url,commentaire FROM webcam") or die(mysql_error());

// on affiche le résultat pour le visiteur 
	while ($affichage = mysql_fetch_assoc($webcam) )     
{    
    	echo 'Modifier cette webcam<input type="hidden" name="id_reference" value="'.$affichage['id'].'" />';
		echo "<br />";
		echo 'Continent : <input name="id_continent" type="text" value="'.$affichage['id_continent'].'" />';
		echo "<br />";
		echo 'Sous-continent : <input name="id_sous_continent" type="text" value="'.$affichage['id_sous_continent'].'" />';
		echo "<br />";
		echo 'Pays : <input name="id_pays" type="text" value="'.$affichage['id_pays'].'" />';
		echo "<br />";
		echo 'Critère : <input name="id_critere" type="text" value="'.$affichage['id_critere'].'" />';
		echo "<br />";
		echo 'Ville : <input name="ville" type="text" value="'.$affichage['ville'].'" />';
		echo "<br />"; 
		echo 'URL : <input name="url" type="text" value="'.$affichage['url'].'" />';
		echo "<br />";
		echo 'Commentaire : <input name="commentaire" type="text" value="'.$affichage['commentaire'].'" />';
		echo "<br />";
		echo '<input name="Envoyer" type="submit" value="Mettre à jour cette webcam"/>';
		echo "<br />";
		echo "<br />";
}
?>


</form>

par charabia » 17 mars 2009, 12:15

ok. Dans ce cas il te faut intégrer ton form et ton bouton submit dans la boucle.

par Romuald632 » 17 mars 2009, 12:10

C'est pas tout à fait ça !
L'internaute va sur le site et vois les webcam classées par pays et par thème.
Moi dans mon interface je veux gérer toutes les webcams et apporter des moifications si nécéssaire (len, ville...)
C'est pourquoi je suis parti sur ce formulaire où je vois toutes les webcams et choisir celle sur laquelle je veux apporter des modifications.

par charabia » 17 mars 2009, 11:48

Tu as 500 webcams accessibles mais sur l'interface, l'utilisateur n'en verra qu'une. Grâce aux paramètres du formulaire, il pourra faire joujou et afficher n'importe lequel des webcams exact ?

Si c'est le cas, sur ta page tu n'auras l'affichage que d'une seule webcam et lorsque l'utilisateur va changer le formulaire, les nouvelles données vont ré-afficher la nouvelle vue.

Donc un seul formulaire, une seule vue permutable pour tes 500 webcams.

par Romuald632 » 17 mars 2009, 11:42

Actuellement j'ai 500 webcam.
Pour l'instant je suis le seul à pouvoir faire les modifications.
En fait c'est pour corriger d'éventuelles erreurs d'orthographe ou de continent par exemple.
Si je comprend ton idée, j'affiche mes webcams normalement, je fais un lien où s'affiche la webcam que je veux modifier et mon upload devrait fonctionner.

par charabia » 17 mars 2009, 11:33

Tu as une totalité de combien de webcam ? Quelle est la différence entre chaque ?

Vu ton formulaire, je dirais que tu n'as besoin que d'une webcam puisque l'utilisateur peut modifier les données et afficher la webcam d'un autre continent...etc C'est pas ça que tu veux faire ?

par Romuald632 » 17 mars 2009, 11:28

En fait j'ai toutes mes infos qui s'affichent, avec tous les champs que je peux modifier pour chaque webcam.
Y-a-t-il une autre solution alors, plus simple, pcq je galère depuis longtemps la dessus...

par charabia » 17 mars 2009, 11:17

Tu as plusieurs formulaires si je comprend bien ? Si c'est ça je ne vois pas trop l'intérêt étant donné que tu donnes la possibilité via le formulaire de choisir la webcam qu'on veut.

par Romuald632 » 17 mars 2009, 11:11

J'ai corrigé ma page comme ceci :
<form action="update_webcam.php" method="post">

<?php 
 
$db = mysql_connect('localhost', 'root', '')  or die('Erreur de connexion '.mysql_error());  
mysql_select_db('voyagez_vol',$db)  or die('Erreur de selection '.mysql_error());

$webcam = mysql_query("SELECT DISTINCT id,id_continent,id_sous_continent,id_pays,id_critere,ville,url,commentaire FROM webcam") or die(mysql_error());

// on affiche le résultat pour le visiteur 
	while ($affichage = mysql_fetch_assoc($webcam) )     
{    
    	echo 'Modifier cette webcam<input type="hidden" name="id_reference" value="'.$affichage['id'].'" />';
		echo "<br />";
		echo 'Continent : <input name="id_continent" type="text" value="'.$affichage['id_continent'].'" />';
		echo "<br />";
		echo 'Sous-continent : <input name="id_sous_continent" type="text" value="'.$affichage['id_sous_continent'].'" />';
		echo "<br />";
		echo 'Pays : <input name="id_pays" type="text" value="'.$affichage['id_pays'].'" />';
		echo "<br />";
		echo 'Critère : <input name="id_critere" type="text" value="'.$affichage['id_critere'].'" />';
		echo "<br />";
		echo 'Ville : <input name="ville" type="text" value="'.$affichage['ville'].'" />';
		echo "<br />"; 
		echo 'URL : <input name="url" type="text" value="'.$affichage['url'].'" />';
		echo "<br />";
		echo 'Commentaire : <input name="commentaire" type="text" value="'.$affichage['commentaire'].'" />';
		echo "<br />";
		echo "<br />";
}
?>

<input name="Envoyer" type="submit" value="Envoyer" valeur="Envoyer"/>
</form>
Seul hic c'est que mon bouton est à la fin du formulaire, et en fait je pense qu'un par webcam ça serait mieux...

par charabia » 17 mars 2009, 10:59

Hello

Pour commencer, il te faut un formulaire : <form></form>.

Ensuite le lien doit soumettre le formulaire en question, si tu ne fais pas de bouton submit, il te faut faire du javascript pour soumettre le formulaire.

Enfin, dans ta page update_webcam.php, tu mets juste ta requête de modification tout simplement.