bonjour
Je ne serai pas comment comment vous expliquez mais je cherche la requête sql pour faire sa s4.noelshack.com… […] mentfaire.jpg je ne code pas beaucoup car j’utilise Dreamweaver.
comment faire comme sur le shema?
merci d’avance
bonjour
Je ne serai pas comment comment vous expliquez mais je cherche la requête sql pour faire sa s4.noelshack.com… […] mentfaire.jpg je ne code pas beaucoup car j’utilise Dreamweaver.
comment faire comme sur le shema?
merci d’avance
Tu t’es trompé dans le lien. Impossible de voir l’image
et la
Bonjour
Pour faire court :
SELECT auteur,COUNT(*) FROM TableMessage GROUP BY auteur
je n’y arrive pas
j’ai essayer cette requete SELECT * FROM news, commentaire WHERE news.news_id=‘1’
mais rien ne marche , je ne code pas beaucoup j’utilise dreamweaver
Elle ne marchera jamais cette requête
Moi, je vois 2 solutions
table commentaire :
id
int(255) NOT NULL AUTO_INCREMENT,
commentaire
varchar(255) NOT NULL,
auteur
varchar(50) NOT NULL,
news
int(255) NOT NULL,
etat
tinyint(1) NOT NULL DEFAULT ‘1’,
table des news
news_id
int(11) NOT NULL AUTO_INCREMENT,
news_titre
varchar(255) NOT NULL,
news_news
varchar(255) NOT NULL,
news_auteur
varchar(255) NOT NULL,
news_categori
int(255) NOT NULL,
etat
tinyint(1) NOT NULL DEFAULT ‘1’,
date
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
nombre_com
int(255) NOT NULL,
c’est juste pour tester pour après quand je vais continuer mon site, je ferai d’autre table mais il me faut la requête pour faire comme sur le schéma.La c’est des table de test
Le nombre de news par auteur :
SELECT news_auteur, count(*)
FROM news
GROUP BY news_auteur
Le nombre de commentaire par auteur
SELECT auteur, count(*)
FROM commentaire
GROUP BY auteur
non ce n’est pas sa que je veut mais merci
je veut stocker le nombre de commentaire par news dans la colone ‘nombre_com’ de la table news
par exemple :
la news 1 a 5 commentaire
la news 2 a 0 commentaire
la news 3 a 2 commentaire…
si je sais comment faire je pourrait surement faire cela pour les autres tables(que je n’ai pas dis) tous seul
Ah, moi j’étais parti de l’image que tu avais montré
Donc, c’est un peu plus dur
UPDATE news
SET nombre_com=(select count(*)
FROM commentaire
WHERE news=XXX)
where news_id=XXX
Avec XXX pour l’ID que tu veux mettre à jour
Mais si je veut tous les mettre a jour car je vais pas faire sa pour toutes les news et pourquoi ya deux where + merci de ton aide
Bon, je vais essayer de détaillé ce qui est pas mon fort
La requête SQL que j’ai fait, je la divise en 2 :
SELECT count(*)
FROM commentaire
WHERE news=XXX
Celle-là va te compter le nombre d’enregistrement dans la table ‘commentaire’ pour la news ‘XXX’
UPDATE news
SET nombre_com=YYY
WHERE news_id=XXX
Celle-là va te mettre à jour la rubrique ‘nombre_com’ du fichier ‘news’ en mettant ‘YYY’ dedans pour la news avec l’ID ‘XXX’
Dans la requête on remplace ‘YYY’ par la première requête (qui sera une sous requête)
Bah, tu fais une boucle qui va executer la requête pour tous les enregistrements de ta table ‘news’.
Donc, sa donnera un truc du style :
$requete = mysql_query("SELECT news_id FROM news") or die(mysql_error());
while ($donnees = mysql_fetch_array($requete ) ) // Pour parcourir toutes les news
{
$IdNews=$donnees['news_id']; //On récupère dans une variable pour l'utiliser
mysql_query("UPDATE news
SET nombre_com=(SELECT count(*)
FROM commentaire
WHERE news='$IdNews')
WHERE news_id='$IdNews'");
}
En espérant que la syntaxe est pas trop mauvaise.
Edité le 16/02/2012 à 17:11
j’arrive a rien sa ménerve
j’ai reussi a mettre le nombre de commentaire sur la page mais j’ai pas encore réussi a l’entrer dans la base de donné
j’ai réussi a afficher le nombre de commentaire mais que sur la page ou il y a les commentaires pas sur les autres.
le nombre de commentaire,je n’arrive pas a le faire entrer dans la base de donné.
comment faire pour le faire entrer dedans?
Faut pousser
Sinon, je voit pas comment t’aider, déjà tout dis dans les postes précédents ><
je n’arrive pas a faire le update pour faire rentrer le nombre dans la base de donné
$colname_Recordset1 = "-1";
if (isset($_GET['news_id'])) {
$colname_Recordset1 = $_GET['news_id'];
}
mysql_select_db($database_toast_sql, $toast_sql);
mysql_query("UPDATE news SET nombre_com = COUNT(commentaire.commentaire)WHERE news_id = %s", GetSQLValueString($colname_Recordset1, "int"));
$query_Recordset1 = sprintf("SELECT *,COUNT(commentaire.commentaire) FROM news, categori, commentaire WHERE news_id = %s AND news.news_categori=categori.ca_id AND commentaire.news=news.news_id", GetSQLValueString($colname_Recordset1, "int"));
$Recordset1 = mysql_query($query_Recordset1, $toast_sql) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
le code que j’ai rentrer pour faire le update :
mysql_query("UPDATE news SET nombre_com = COUNT(commentaire.commentaire)WHERE news_id = %s", GetSQLValueString($colname_Recordset1, "int"));
j’ai essayer avec sa
if (isset($_GET['news_id'])) {
mysql_query('UPDATE news SET nombre_com = COUNT(commentaire.commentaire) WHERE news_id = "'.$_GET['news_id'].'"');
}
mais nombre_com ne prend pas la valeur de COUNT(commentaire.commentaire).
pourquoi?
Edité le 18/02/2012 à 00:07
voici la page
pastebin.com…
Heu, ce n’est pas magique le SQL hein… si tu fais un UPDATE en base, les données que tu as récupérées avant cet UPDATE, resteront telles quelles sauf à ce que 1) tu relance ta requête 2) tu mettes à jour la donnée en PHP.
Par ailleurs, tu peux aussi utiliser des requêtes préparées : www.ultramegatech.com…
Bonjour
COUNT(commentaire.commentaire) n’est pas une variable…
Moi je pense qu tu veux aller trop vite.
Fait un truc plus simple pour mieux comprendre comment sa marche en PHP.
Genre, un formulaire où tu peux ajouter/modifier/supprimer un enregistrement.