php/mysql commentaires

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 : php/mysql commentaires

471 sac longchamp 576

par acaphyhic » 22 août 2012, 00:58

Williams a commencé chaque match pour conçu pour l' Crimson Tide dernière température ambiante . Votre ami 24 plaqués, quatre plaqués conçu pour perte, se précipite trois quart et, par conséquent autre rupture passe. http://www.longchampsacamainpascher.com
De la NASA Mars Rover était en fait était vraiment sur son approche finale à à votre rouge monde entier le dimanche, se dirigeant vers votre montagne que la plupart peut tenir très indices quant à savoir si la vie a jamais existé sur Mars , ont indiqué des responsables. longchamp sac
pour vous aider à vacances le très dernier tronçon dans site web , Curiosité a allumé ses propulseurs de pilotage pour obtenir six secondes dimanche matin, peaufiner sa trajectoire de vol en après 0,4 pouce (1 centimètre) par seconde http://www.longchampsacamainpascher.com

048 beats by dre test 513

par rofMishsods » 21 août 2012, 21:04

Analysts and consequently shareholders - desperate needed for signs relating to life of your moribund company - are unquestionably eager towards see whether Ms. Mayer, 37, can lure rear advertisers, reinvigorate a muddled brand together with improve morale you will come to a single company marred courtesy of - executive churn, constant cost-cutting initiatives and therefore mass layoffs. http://www.drdreschweiz.com
Featuring 700 million users, Yahoo still draws one of any largest audiences about the Web. More citizens implement Yahoo’s e-mail appui than any other appui . Yahoo Sports, Yahoo Finance and therefore Flickr, the very photo spot, remain most of the most favorite destinations around their categories. beats studio
Ms. Mayer may get my hardest days taking Yahoo straight into the type of mobile advertising arena, per market dominated by- your loved one former employer. Unlike Yahoo, Google moreover Apple dominate the exact mobile advertising space that includes hardware together with software options.
http://www.drdreschweiz.com

000 beats by dre prisjakt 294

par newDiorceTrer » 21 août 2012, 19:32

Many Republicans as part of Washington believe Romney will ultimately go with Portman, who has foreign-policy event that Romney lacks based on his company as U.S. trade representative to receive Republican President George W. Bush and as a consequence his current tenure about the Senate Armed Services Committee. http://www.drdreprisjakt.com
Romney is going to be towards campaign during Portman's home state from Ohio later this advice week. Portman could have been scheduled to be inside Washington considering the particular Senate operating in session. beats by dre test
But there is very much perhaps a definite strong sense in which Pawlenty could emerge although No. 2. One particular conservative coming from Minnesota ran to obtain i would say the 2012 Republican presidential nomination yet used to be ones first off major contender to help give up, after a new dismal results in these Iowa straw poll last August.
http://www.drdreschweiz.com

par fab » 25 mai 2005, 23:45

Dans ton premier script la variable $id ne correspond à rien. ( si tu veux vérifier fait un echo $id; a la fin de ton script )
C'est pour ça que ton code ne marche pas

par Nonoteam » 25 mai 2005, 20:35

Désolé je n'ai pas pu repondre plus tôt.
Ca ne marche toujours pas, j'ai essayer de faire ce que tu as dit dans ton dernier message bien que je ne comprenne pas trop.

par Cyrano » 22 mai 2005, 21:00

Il devrait te générer une autre erreur : $id n'est pas déféni dans le premier script: : il serait sensé représenter l'identifiant de l'article, donc tu devrais avoir quelque part quelque chose qui l'initialise: $id = $_GET['id'] par exemple qui récupèrerait l'id envoyé en paramètre dans l'url.

J'ai du coup un peu de mal à comprendre le fonctionnement global de l'application.

par Nonoteam » 22 mai 2005, 19:13

Je sais pas :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Document sans nom</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" href="style.css" type="text/css">
</head>

<body>
<?
$mysql_host = '';
$mysql_user = '';
$mysql_password = '';
$mysql_base = '';

$db = mysql_connect($mysql_host,$mysql_user,$mysql_password) or die ("Erreur de connexion");

mysql_select_db($mysql_base,$db) or die ("Erreur de connexion à la base de donnée.");

$sql = "SELECT date,heure,pseudo,email,message FROM `com_tbl` AS t1, `com_tbl` AS t2 WHERE t1.msg_parent_id = t2.". $id ." ORDER BY t1.date_verif DESC;";

while( $contenu = mysql_fetch_array ($sql))
{

print '<br><div class="centre"><div class="haut">Posté le '.$contenu[date].' à '.$contenu[heure].' par <a href="mailto:'.$contenu[email].'">'.$contenu[pseudo].'</a><br></div>';
print '<div class="bas"><br>'.$contenu[message].'<br></div></div>';

}

mysql_close();

?>
<br><br><form method="post" action="add.php">
Nom ou Pseudo: <input type="text" name="pseudo"><br>
Email (facultatif): <input type="text" name="email"><br>
Site (facultatif): <input type="text" name="site"><br>
Commentaire: <textarea name="message" cols="40" rows"20"></textarea><br>
<input type="submit" value="Envoyer">
</form>
</body>
</html>

<?
$mysql_host = '';
$mysql_user = '';
$mysql_password = '';
$mysql_base = '';

$pseudo = $_POST['pseudo'];
$message = $_POST['message'];
$mail = $_POST['email'];

if(empty($pseudo) OR empty($message) )
{
print'<a href="javascript:history.back();">Les champs <b>Pseudo</b> et <b>Commentaire</b> sont à remplir.</a>';
}
else{

$date_verif = date("Y-m-d H:i");

$date = date("d-m-Y");

$heure = date("H:i");

$db = mysql_connect($mysql_host,$mysql_user,$mysql_password) or die ("Erreur de connexion");

mysql_select_db($mysql_base,$db) or die ("Erreur de connexion à la base de donnée.");

mysql_query("INSERT Into com_tbl VALUES ('','$date_verif','$date','$heure','$pseudo','$email','$site','$message') ") or die ("Erreur requête ".mysql_error());

echo 'Votre commentaire à bien été ajouté.'; 

mysql_close();

}
?>

par Cyrano » 22 mai 2005, 16:38

Il y a un problème là: d'ou il sort le COUNT() ?? mentionné dns le message d'erreur ?

Fais voir la requête en question ?

par Nonoteam » 22 mai 2005, 16:21

J'ai insere ce code mais lorsque je click sur le bouton du formulaire il ya cette erreur qui apparait:

Erreur requête Column count doesn't match value count at row 1

par Cyrano » 22 mai 2005, 16:14

Bon, il faut d'abord saisir que tu uauras deux requêtes à faire:
- la première concerne l'article : tu récupères le texte, la dade ET l'id;
- la seconde va récupérer les commentaires correspondant à cet id:
$sql = "SELECT date,heure,pseudo,email,message FROM `com_tbl` AS t1, `com_tbl` AS t2 WHERE t1.msg_parent_id = t2.". $id ." ORDER BY t1.date_verif DESC;";

par Nonoteam » 22 mai 2005, 16:08

Oki, merci beaucoup,

Je ne sais pas si tu as vu sur mon autre post: j'ai un code comme celui-ci:
$req = mysql_query("SELECT date,heure,pseudo,email,message from com_tbl Order by date_verif Desc ") or die ("Erreur requête");
et dans ce post tu me dis de faire une auto-jointure comme ceci:
$sql = "SELECT message FROM `com_tbl` AS t1, `com_tbl` AS t2 WHERE t1.msg_parent_id = t2.". $id .";";
Je ne vois pas comment utiliser les deux en même temps.

Merci deja pour tes nombreuses explications :wink:

par Cyrano » 22 mai 2005, 16:02

Pour les deux tables, oui, c'est exactement le principe montré sur phpdebutant: ce qu'on fait ici, c'est la même chose avec une seule table. C'est pour ça qu'on crée un champ supplémentaire qui sert de repère. Relis ce que je t'ai mis plus haut : tu devras faire une auto-jointure, ce qui veut dire en termes plus clairs : tu vas faire un lien entre la table com_tbl qu'on nommera pour les besoin du moment "articles" et la table com_tbl (la même) qu'on nommera pour les besoin de ce même moment "commentaires" et on va chercher la correspondance de clés entre ces deux tables, virtuelles en quelque sorte.

par Cyrano » 22 mai 2005, 15:57

Ouais, c'est ok pour la strcture, tu pourrais même améliorer comme ceci :

Code : Tout sélectionner

CREATE TABLE `com_tbl` ( `id` int(11) NOT NULL auto_increment, `msg_parent_id` int(11) default NULL, `date_verif` varchar(20) NOT NULL default '', `date` varchar(20) NOT NULL default '', `heure` varchar(20) NOT NULL default '', `pseudo` varchar(50) NOT NULL default '', `email` varchar(55) default NULL, `site` varchar(90) default NULL, `message` text NOT NULL, PRIMARY KEY (`id`), KEY `msg_parent_id` (`msg_parent_id`) );
On ajoute un index sur msg_parent_id, ça va accélérer notablement les requêtes lors de recherches de commentaires.

Je vais voir pour l'autre post.

par Nonoteam » 22 mai 2005, 15:40

si je choisi une seul table, c'est la forme suivante ?
CREATE TABLE com_tbl (
id int NOT NULL auto_increment,
msg_parent_id INT NULL;
date_verif varchar (20) NOT NULL,
date varchar (20) NOT NULL,
heure varchar (20) NOT NULL,
pseudo varchar (50) NOT NULL,
email varchar(55) NULL,
site varchar (90) NULL,
message text NOT NULL,
PRIMARY KEY (id))
et pour deux tables c'est le même principe que sur http://phpdebutant.org/article67.php
au paragraphe "Alimenter deux tables et créer une liaison" vers la fin ?

désolé mais pour l'histoire de l'Article je ne comprend pas vraiment,
regarde sur ce post http://www.phpfrance.com/forums/voir_sujet-3378.php
c'est le code que j'ai pour
http://stock.ntp.free.fr/test2/

par Cyrano » 22 mai 2005, 13:52

C'est une des deux solutions possibles: soit une table comme actuellement, mais tu dois alors rajouter un champ, soit deux tables distinctes.

Ce que je viens d'expliquer concerne l'option à une seule table.

Dans un système à deux tables, tu vas retrouver les mêmes champs à peu de choses près, mais la seconde table ne contiendra que les commentaires et tu auras, outre une clé primaire pour chaque commentaire, un champ qui correspondra à la clé primaire de la table article et qui sera donc une clé étrangère.

Dans les deux cas, tu auras donc une requête pour l'article lors de laquelle tu récupèreras entre autre la clé primaire et une requête pour les commentaires par rapport à la clé récupérée dans la première requête.