Problème : insertion d'un nouveau sujet à partir d'une page externe au forum

Fen_X Messages postés 2 Date d'inscription mardi 25 octobre 2005 Statut Membre Dernière intervention 25 octobre 2005 - 25 oct. 2005 à 21:50
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 - 28 juil. 2009 à 19:43
j'ai essayé deux codes :



un en utilisant la fonction mysql_insert_id

<hr size="2" width="100%">mysql_select_db("forum"); // On choisit la base de données a utiliser

$time = gettimeofday();

$time2 = $time[sec];

$message3 = '---- Posté par '.$auteur.' ----
';

$message2 = $message3.$message;



$nouv_topic = "INSERT INTO smf_topics VALUES('', '0', '19', '0', '0', '10', '10', '0', '0', '8', '0')";

mysql_query($nouv_topic) or die('Erreur SQL !'.$sql.'
'.mysql_error());



$id_topic = mysql_insert_id();



$nouv_message = "INSERT INTO smf_messages VALUES ('', '$id_topic',
'19', '$time2', '13', '$sujet', 'invité', 'mail@mail.com', '127.0.0.1',
'1', '0', 'invité', '$message2', 'xx')";

mysql_query($nouv_message);



$id_msg = mysql_insert_id();



$miseajour1 = "UPDATE smf_topics SET ID_FIRST_MSG='$id_msg' WHERE ID_FIRST_MSG='0'";

mysql_query($miseajour1) or die('Erreur SQL !'.$sql.'
'.mysql_error());

$miseajour1 = "UPDATE smf_topics SET ID_LAST_MSG='$id_msg' WHERE ID_LAST_MSG='0'";

mysql_query($miseajour2) or die('Erreur SQL !'.$sql.'
'.mysql_error());

<hr size="2" width="100%">

et un autre qui lit directement la valeur rentrée



<hr size="2" width="100%">mysql_select_db("forum"); // On choisit la base de données a utiliser


$time = gettimeofday();


$time2 = $time[sec];


$message3 = '---- Posté par '.$auteur.' ----
';


$message2 = $message3.$message;




$nouv_topic = "INSERT INTO smf_topics VALUES('', '0', '19', 'temp', 'temp', '10', '10', '0', '0', '8', '0')";


mysql_query($nouv_topic) or die('Erreur SQL !'.$sql.'
'.mysql_error());




$id_topic_quest = "SELECT ID_TOPIC FROM smf_topics WHERE ID_FIRST_MSG='temp'";


$id_topic = mysql_query($id_topic_quest) or die('Erreur SQL !'.$sql.'
'.mysql_error());




$nouv_message = "INSERT INTO smf_messages VALUES ('',
'$id_topic', '19', '$time2', '13', '$sujet', 'invité', 'mail@mail.com',
'127.0.0.1', '1', '0', 'invité', '$message2', 'xx')";


mysql_query($nouv_message);




$id_msg_quest = "SELECT ID_MSG FROM smf_messages ORDER BY posterTime DESC LIMIT 1,1";


$id_msg = mysql_query($id_msg_quest) or die('Erreur SQL !'.$sql.'
'.mysql_error());




$miseajour1 = "UPDATE smf_topics SET ID_FIRST_MSG='$id_msg' WHERE ID_FIRST_MSG='temp'";


mysql_query($miseajour1) or die('Erreur SQL !'.$sql.'
'.mysql_error());


$miseajour1 = "UPDATE smf_topics SET ID_LAST_MSG='$id_msg' WHERE ID_LAST_MSG='temp'";


mysql_query($miseajour2) or die('Erreur SQL !'.$sql.'
'.mysql_error());

<hr size="2" width="100%">

C'est avec celui la que j'ai commencé, au premeir enregistrement le
script entrait des valeurs 0 au lieu des variables récupérées,



ensuit j'ai droit à un

Erreur SQL !


Duplicate entry '0-19' for key 2



Quand je réaissaye avec l'un ou l'autre des script...

3 réponses

Fen_X Messages postés 2 Date d'inscription mardi 25 octobre 2005 Statut Membre Dernière intervention 25 octobre 2005
25 oct. 2005 à 23:58
C'est bon j'ai refait de la premiere facon ca fonctionne
0
goflood Messages postés 1 Date d'inscription jeudi 13 septembre 2007 Statut Membre Dernière intervention 28 juillet 2009
28 juil. 2009 à 11:27
C minable comme programmation, y a vraiment plus simple ^^
Un ptit coucou en passant
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
28 juil. 2009 à 19:43
Aussi minable que de répondre à un post de 2005



Kohntark -
0
Rejoignez-nous