• Bonjour Visiteur. Bienvenue sur les nouveaux forums de MacGeneration. La peinture est encore fraiche, quelques boulons doivent être resserrés, plus d’informations demain !

BDD et sql

A

Anonyme

Invité
Bonjour

Comment fait-on pour faire afficher toute une table d'une bdd ? Est-ce la commande SELECT ?

Merci d'avance

Albert
 

Marc-André

Membre émérite
24 Juillet 2003
559
17
43
Ottawa
Halbert a dit:
Bonjour

Comment fait-on pour faire afficher toute une table d'une bdd ? Est-ce la commande SELECT ?

Merci d'avance

Albert
Un truc du genre: SELECT * FROM NomDeTable


Marc-André
 

Anabys

Membre d’élite
Club MacG
2 Août 2004
1 099
67
Paris
www.valhalla.fr
L'instruction est correcte... pourquoi ça ne te suffit pas ?
C'est pas plutot un problème d'exploitation des données retournées par cette instruction que tu as ?
 

canibal

Membre confirmé
29 Mai 2005
393
27
37
San Jose, CA
je pense que tu as un grand besoin de lire http://sql.developpez.com/

Ainsi tu auras non seulement les synthaxes, mais également les fondements de ce qu'est une base de donnée un SGBD etc ... car la requpete donnée précédemment est correcte reste a voir ce que tu en fais et où tu cherche à l'utiliser ....
 
A

Anonyme

Invité
Anabys a dit:
L'instruction est correcte... pourquoi ça ne te suffit pas ?
C'est pas plutot un problème d'exploitation des données retournées par cette instruction que tu as ?
Je ne sais pas : la connexion se fait mais les résultats de la requete ne s'affichent pas.

Je dois faire une ereur evidente !

Albert
 
A

Anonyme

Invité
Anabys a dit:
L'instruction est correcte... pourquoi ça ne te suffit pas ?
C'est pas plutot un problème d'exploitation des données retournées par cette instruction que tu as ?
erreur retournée : "Parse error: parse error, unexpected T_STRING" àl a ligne où j'ai tapé SELECT * FROM NomDETable

Albert
 

PA5CAL

Vétéran
Club MacG
21 Juillet 2005
9 228
596
Île-de-France
Halbert a dit:
erreur retournée : "Parse error: parse error, unexpected T_STRING" àl a ligne où j'ai tapé SELECT * FROM NomDETable

Albert
A mon avis, le problème n'a rien à voir avec la syntaxe SQL. Ça vient plutôt du contexte dans lequel tu as mis la chaîne. Par exemple, tu utilises une T_STRING alors que ton système attends une chaîne de caractères "toute bête", ou tu as oublié une parenthèses ou un point-virgule juste avant, ou quelque chose dans le genre.
 

Marc-André

Membre émérite
24 Juillet 2003
559
17
43
Ottawa
Ce qui serait bien c'est de savoir si ton problème ne serait pas côté PHP... selon moi côté SQL c'est bon tu pourrais tenter ta requête via PhpMyAdmin.

Cette erreur, se produit notamment lorsqu'un guillemet est présent dans une chaîne délimitée par ce même type de guillemets....

Tu ne nous as pas retourné ton code ce qui serait bien pour te débogguer....

Marc-André
 
A

Anonyme

Invité
Marc-André a dit:
Ce qui serait bien c'est de savoir si ton problème ne serait pas côté PHP... selon moi côté SQL c'est bon tu pourrais tenter ta requête via PhpMyAdmin.

Cette erreur, se produit notamment lorsqu'un guillemet est présent dans une chaîne délimitée par ce même type de guillemets....

Tu ne nous as pas retourné ton code ce qui serait bien pour te débogguer....

Marc-André
Par ex ceci :

$rq="SELECT *FROM NomDeMatable";
$res = mysql_query($rq)
or die ("erreur");
$ligne = mysql_fetch_array($resptr,MYSQL_ASSOC);

C'est correct ?

Albert
 

Marc-André

Membre émérite
24 Juillet 2003
559
17
43
Ottawa
Halbert a dit:
Par ex ceci :

$rq="SELECT *FROM NomDeMatable";
$res = mysql_query($rq)
or die ("erreur");
$ligne = mysql_fetch_array($resptr,MYSQL_ASSOC);

C'est correct ?

Albert
Qu'est ce que $resptr?
Que retourne $res?
As-tu fais ta connexion à ta BD?

Peut-être pourrais-tu tenter un truc comme ceci?

$rq = mysql_query("SELECT * from Table") or die("Requete infructueuse");
while($ligne = mysql_fetch_row( $rq )) {

Marc-André
 
A

Anonyme

Invité
Marc-André a dit:
Qu'est ce que $resptr?
Que retourne $res?
As-tu fais ta connexion à ta BD?

Peut-être pourrais-tu tenter un truc comme ceci?

$rq = mysql_query("SELECT * from Table") or die("Requete infructueuse");
while($ligne = mysql_fetch_row( $rq )) {

Marc-André
Ca ne donne rien non plus. Il y a vraiment quelque chose qui m'échappe : la connexion se fait, j'ai ajouté ces lignes sur une page fonctionnant bien, pas de problème je rapatrie tout sauf ça.

C'est dans ces cas là qu'on devient fou en informatique ?

Merci pour ton aide.

Albert
 

Marc-André

Membre émérite
24 Juillet 2003
559
17
43
Ottawa
Halbert a dit:
Ca ne donne rien non plus. Il y a vraiment quelque chose qui m'échappe : la connexion se fait, j'ai ajouté ces lignes sur une page fonctionnant bien, pas de problème je rapatrie tout sauf ça.

C'est dans ces cas là qu'on devient fou en informatique ?

Merci pour ton aide.

Albert
Ton problème n'est pas ta requête donc on exclu SQL!

Ton problème est PHP... peut-être que tu devrais tenter de ne pas inclure de variable mais les noms de champs.

qu'est ce que $resptr

le bout de code que je t'ai donné doit retourner un tableau mais je n'ai pas assez de détail sur tes champs pour te le créer... montre nous ta page...
 
A

Anonyme

Invité
Marc-André a dit:
Ton problème n'est pas ta requête donc on exclu SQL!

Ton problème est PHP... peut-être que tu devrais tenter de ne pas inclure de variable mais les noms de champs.

qu'est ce que $resptr

le bout de code que je t'ai donné doit retourner un tableau mais je n'ai pas assez de détail sur tes champs pour te le créer... montre nous ta page...
$resptr est un pointeur vers le résultat. Mais je ne suis pas sûr.

Je pense aussi que le prob vient de PHP. Mon site est chez Free : il n'y a pas de problème particulier dû à free ?



Albert
 
A

Anonyme

Invité
Marc-André a dit:
Ton problème n'est pas ta requête donc on exclu SQL!

Ton problème est PHP... peut-être que tu devrais tenter de ne pas inclure de variable mais les noms de champs.

qu'est ce que $resptr

le bout de code que je t'ai donné doit retourner un tableau mais je n'ai pas assez de détail sur tes champs pour te le créer... montre nous ta page...
J'ai essayé ceci : pas de message d'erreur mais rien ne s"affiche.

<?php
$host="sql.free.fr"; $base="NomDeMaBase"; $passe="MonMotDePasse";

$connexion = @mysql_connect("$host","$base","$passe");

$rq = "SELECT * FROM NomDeMaTable";


$resultat = mysql_query ($rq, $connexion);
if ($resultat)
{
while($ligne = mysql_fetch_row( $resultat )) ;
}
else
{bof;}

?>
 

canibal

Membre confirmé
29 Mai 2005
393
27
37
San Jose, CA
Tu devrais grandement lire cela http://www.siteduzero.com/php/liredonnees.php

{
while($ligne = mysql_fetch_row( $resultat )) ;
}

ne t'afficheras jamais rien il ne fais que lire les lignes de ton tableau résultat

Il te faut les afficher en faisant un
echo $resultat['unchpdetable'];

En gros ça donne ça

$resultat = mysql_query ($rq, $connexion);
if ($resultat)
{
while($ligne = mysql_fetch_row( $resultat ))
{
echo $resultat['unchpdetable'];
}
}
else
{bof;}

Mais je te conseil vivement de lire siteduzero

Bon courrage
 
A

Anonyme

Invité
canibal a dit:
Tu devrais grandement lire cela http://www.siteduzero.com/php/liredonnees.php

{
while($ligne = mysql_fetch_row( $resultat )) ;
}

ne t'afficheras jamais rien il ne fais que lire les lignes de ton tableau résultat

Il te faut les afficher en faisant un
echo $resultat['unchpdetable'];

En gros ça donne ça

$resultat = mysql_query ($rq, $connexion);
if ($resultat)
{
while($ligne = mysql_fetch_row( $resultat ))
{
echo $resultat['unchpdetable'];
}
}
else
{bof;}

Mais je te conseil vivement de lire siteduzero

Bon courrage
Quand tu dis "en gros" , tu veux dire quoi ?
Qu'est ce que c'est que 'unchpdetable' ?
Albert
 
A

Anonyme

Invité
Marc-André a dit:
Qu'est ce que $resptr?
Que retourne $res?
As-tu fais ta connexion à ta BD?

Peut-être pourrais-tu tenter un truc comme ceci?

$rq = mysql_query("SELECT * from Table") or die("Requete infructueuse");
while($ligne = mysql_fetch_row( $rq )) {

Marc-André
Bonjour

Après la ligne while... il ne manque pas un "echo quelquechose" ?

Albert
 

canibal

Membre confirmé
29 Mai 2005
393
27
37
San Jose, CA
en fait je ne connais pas ta table mais elle doit avoir deux champs
un identifiant (numéro en clé primaire ou tout autre chose nom prenom etc)
et un champs
par exmple une table de personnes

id | Prenom | Nom
-----------------------------------
1 | toto | Nomtoto
2 | titi | Nomtiti
...

tu mettras

if ($resultat)
{
while($ligne = mysql_fetch_row( $resultat ))
{
echo "Le nom: ".$resultat['Nom']." le prénom : ".$resultat['Prenom'];
}
}
else
{bof;}
 
A

Anonyme

Invité
canibal a dit:
en fait je ne connais pas ta table mais elle doit avoir deux champs
un identifiant (numéro en clé primaire ou tout autre chose nom prenom etc)
et un champs
par exmple une table de personnes

id | Prenom | Nom
-----------------------------------
1 | toto | Nomtoto
2 | titi | Nomtiti
...

tu mettras

if ($resultat)
{
while($ligne = mysql_fetch_row( $resultat ))
{
echo "Le nom: ".$resultat['Nom']." le prénom : ".$resultat['Prenom'];
}
}
else
{bof;}
Il y a quelque chose qui m'echappe.J'ai essayé tous les "echo" possibles, pas de retour !
Albert