Requête sur plusieurs tables

Répondre
lecritiqueux
le 29/06/2003 à 20:51
lecritiqueux
Les deux ont un champ qui s'appelle "discussion"
dans "forum_messages", il est auto-incrementé mais pas dans "forum_reponses", mon formulaire récupère la valeur du auto-increment et l'attribue au message dans "forum_reponses"
Étranger, si tu aimes programmer en PHP, t'as trouvé ton chemin, mais si t'es lent à dégainer alors,
LA GLOBULE
le 29/06/2003 à 21:54
LA GLOBULE
Les deux ont un champ qui s'appelle "discussion"

>> c'est ptet pour çà que ca merde :)

SELECT * FROM forum_messages, forum_reponses ORDER BY discussion DESC LIMIT '.$limit_init.','.$nombre_par_page.'

Là il faut preciser de quelle discussion il s'agit (table forum_messages ou table forum_reponses).

Donc, soit tu fais :
SELECT * FROM forum_messages, forum_reponses ORDER BY forum_messages.discussion DESC LIMIT '.$limit_init.','.$nombre_par_page.'

Soit tu fais :
SELECT * FROM forum_messages, forum_reponses ORDER BY forum_reponses.discussion DESC LIMIT '.$limit_init.','.$nombre_par_page.'

SQL est con : si tu ne lui dis pas à quelle table se rapporte l'attribut discution, lui il ne peut pas le deviner.
lecritiqueux
le 29/06/2003 à 22:21
lecritiqueux
Bon, merci :-)
Je vais essayer ça ce soir...

(Votre site m'est d'une grande aide pour l'écriture de mon script)
Étranger, si tu aimes programmer en PHP, t'as trouvé ton chemin, mais si t'es lent à dégainer alors,
LA GLOBULE
le 29/06/2003 à 22:45
LA GLOBULE
Parce que si un jour tu modifies ta table en ajoutant des attributs, ben tu en selectionneras surement de trop pour certaines requetes.

Et de plus, en ecrivant explicitement le nom de tes attributs, cela te permet de bien "voir" ce que tu selectionnes :)
choupachoup
le 29/06/2003 à 23:28
choupachoup
a j'vais essayer aussi moi c'était exactement pareil que lecritiqueux les 2 champs portaient le même nom!
choupa choupa
choupachoup
le 30/06/2003 à 00:24
choupachoup
mouais je suis pas convaincu : ça ne marche pas :
<?
$sql = 'SELECT titre FROM films, divx WHERE films.description LIKE "%'.$recherche.'%" AND divx.description LIKE "%'.$recherche.'%"';
?>
(mais les 2 table on le champ name!!)
ni ça :
<?
$sql = 'SELECT * FROM films, divx WHERE films.description LIKE "%'.$recherche.'%" AND divx.description LIKE "%'.$recherche.'%"';
?>
faut-il renommer les champs différemment et faire ça? :
<?
$sql = 'SELECT titre, titre2 FROM films, divx WHERE films.description LIKE "%'.$recherche.'%" AND divx.description LIKE "%'.$recherche.'%"';
?>
choupa choupa
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours