écriture sur base de donnée

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 : écriture sur base de donnée

Re: écriture sur base de donnée

par rayaseplacbe » 11 sept. 2009, 12:16

ça marche maintenant, merci.
pascal

Re: écriture sur base de donnée

par rayaseplacbe » 11 sept. 2009, 12:10

j'ai mis ID en auto-increment
id n'est plus varchar mais INT
la table est elle juste ?
merci
pascal

Re: écriture sur base de donnée

par rayaseplacbe » 11 sept. 2009, 12:01

il est marqué primaire
champ id
type varchar(10)
interclassement : latin_general_ci
attributs : vide
NULL
defaut : vide
extra: vude

Re: écriture sur base de donnée

par dunbar » 11 sept. 2009, 11:16

Le champ id (clef) est t'il un auto_increment sinon cela ne fonctionnera pas

Re: écriture sur base de donnée

par rayaseplacbe » 11 sept. 2009, 11:13

Oui c'est à partir de cette source que j'ai essayé de travailler.
Ca ne fonctionne malheureusement pas.
Concernant ma base de données, je l'ai crée sur online.net. Il y a 3 champs :
- id (clef)
- nom
- message
Ma table s'appelle livre.
Quand je vide la table, le livre d'or permet une unique entrée, une ligne 1. Après ça ne fonctionne plus.
Une idée ?
Merci,
Pascal
<?php
 //connexion à la base
 $db=mysql_connect("base.monsite.com", login, password);
  if(!$db){ print "erreur connection $db<br>"; exit; }

// on choisit la bonne base
 if(!mysql_select_db(base,$db)){
  print "erreur ".mysql_error()."<br>";
  mysql_close($db);
  exit;
 }

// Si l'utilisateur envoi un nouveau message,
// on l'ajoute à la base de données.
if (isset($_POST['nom']) && isset($_POST['message'])){	
$nom=urlencode(rtrim($_POST['nom']));
$message=urlencode(rtrim($_POST['message']));
mysql_query("INSERT INTO livre SET nom = '$nom', message = '$message';");	
}

// renvoi la liste des entrées à Flash.
$resultat=mysql_query('SELECT * FROM livre ORDER BY id DESC;');

// on boucle et on ajoute chaque entrée à la chaîne de caractère que l'on enverra à Flash.
$i = 0;
$renvoi = '';
while($colonne=mysql_fetch_array($resultat)){
$i++;
$renvoi .= 'nom'.$i . '=' . $colonne['nom'];
$renvoi .= '&message'.$i . '=' . $colonne['message'] . '&';
}

// on ajoute le nombre d'entrées.
$renvoi .= 'entrees=' . $i;

// on renvoi le tout à Flash.
echo $renvoi;

?>

Re: écriture sur base de donnée

par dunbar » 10 sept. 2009, 18:52

Le script est celui-ci :wink:
Montre nous la structure de ta table stp.

Re: écriture sur base de donnée

par zeus » 10 sept. 2009, 14:32

Modération :
Le multipostage est interdit sur le forum.

Merci de prendre le temps de lire les règlements.

De plus, afin d'améliorer la lisibilité de ton message,
pense à utiliser les balises [code] ou [php] (selon le langage utilisé).

Elles sont disponibles au-dessus de la zone de saisie de ton message
lorsque tu postes un nouveau message.

Des indications sont disponibles sur la manière de mettre en forme vos messages dans la FAQ

écriture sur base de donnée

par rayaseplacbe » 10 sept. 2009, 11:55

bonjour à tous,
tout d'abord, je débute totalement en php.
je souhaite réaliser un livre d'or en flash pour lequel ce code intervient, concernant le code flash tout est nickel, en fla...
par contre côté php, ça n'écrit qu'une seule fois sur la base de données (3 champs, id clef, nom, message - base hébergée chez online.net)
quelqu'un aurait-il l'amabilité de m'aider ?
merci,
pascal
<?php

// parametres d'access
$base='base';
$login='bidule';
$pwd='motdepasse';
$host='base.nomdedomaine.com';
$bdd='livre';

// connection au serveur
$db=mysql_connect($host, $login, $pwd);
if(!$db){ print "erreur connection $db<br>"; exit; }

// on choisit la bonne base
 if(!mysql_select_db($base,$db)){
  print "erreur ".mysql_error()."<br>";
  mysql_close($db);
  exit;
 }

// Si l'utilisateur envoi un nouveau message,
	// on l'ajoute à la base de données.
	if (isset($_POST['nom']) && isset($_POST['message'])){	
		$nom=urlencode(rtrim($_POST['nom']));
		$message=urlencode(rtrim($_POST['message']));
		mysql_query("INSERT INTO livre SET nom = '$nom', message = '$message';");			
		}

	// renvoi la liste des entrées à Flash.
	$resultat=mysql_query('SELECT * FROM livre ORDER BY id DESC;');
	
	// on boucle et on ajoute chaque entrée à la chaîne de caractère que l'on enverra à Flash.
	$i = 0;
	$renvoi = '';
	while($colonne=mysql_fetch_array($resultat)){
		$i++;
		$renvoi .= 'nom'.$i . '=' . $colonne['nom'];
    $renvoi .= '&message'.$i . '=' . $colonne['message'] . '&';
		}
	
	// on ajoute le nombre d'entrées.
	$renvoi .= 'entrees=' . $i;

	// on renvoi le tout à Flash.
	echo $renvoi;
?>