faire un tableau à partir d'un fichier et afficher le résultat

Eléphanteau du PHP | 13 Messages

12 nov. 2007, 16:51

Bonjour,
je poursuis mon apprentissage du language PHP

j'ai écrit le script suivant :
<?php
$host="localhost";
$user="***";
$password="***";
$base = "***";

$connexion = mysql_connect($host,$user,$password) or die ("connexion au serveur impossible.");

$db = mysql_select_db($base, $connexion) or die ("La base de données ne peut être sélectionnée");

$req = "SELECT nom,prenom from membres";
$resultat = mysql_query($req) or die ("la requète ne peut être exécutée");

/*Afficher le résultat dans un tableau*/
	echo "<h1>Membres de l'amicale</h1>";
	echo "<table cellspacing='15'>";
	echo "<tr><td colspan='3'><hr></td></tr>";
	while ($ligne = mysql_fetch_array($result))
	{ extract($ligne);
	echo "<tr>\n
			<td>$nom</td>\n
			<td>$prenom</td>\n
			<td align='right'>$ville</td>\n
			</tr>\n";
	echo "<tr><td colspan='3'><hr></td></tr>\n";
	}
	echo "</table>\n";
mysql_close($connexion);
?>
j'ai un message d'erreur à la ligne 24

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in

merci de me dire ce que j'ai certainement mal écrit

Mammouth du PHP | 19672 Messages

12 nov. 2007, 16:55

Normal :
$resultat = mysql_query($req)....
Et plus loin :
$ligne = mysql_fetch_array($result)
au lieu de :
$ligne = mysql_fetch_array($resultat)
:-*
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

12 nov. 2007, 16:57

J'en ai profité pour supprimer tes identifiants qui nous servent à rien ici :wink:

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphanteau du PHP | 13 Messages

12 nov. 2007, 17:16

merci à tous les deux,
j'ai bien noté que pour des prochaines discusions je supprimerai mes identifiants

Cà marche impeccable. Je vais approfondir pour une présentation de tableau avec des cadres

comment peux-t-on gérer en PHP le type et la grosseur des caractères
la balise <h1> met en caractère gras
comment peux-t-on connaître les autres balises à utiliser ?
est-ce du même type que sous HTML avec des feuilles de style ?

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

12 nov. 2007, 17:22

comment peux-t-on gérer en PHP le type et la grosseur des caractères
la balise <h1> met en caractère gras
comment peux-t-on connaître les autres balises à utiliser ?
est-ce du même type que sous HTML avec des feuilles de style ?
Ce n'est pas le PHP qui gère ça mais le html et CSS :-k

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphanteau du PHP | 13 Messages

12 nov. 2007, 18:47

TRUC a écrit :
Ce n'est pas le PHP qui gère ça mais le html et CSS
dans le script ci-dessous
echo "<tr>\n
			<td><h6>$id</h6></td>\n
			<td><h6>$nom</h6></td>\n
			<td><h6>$prenom</h6></td>\n
			<td><h6>$adresse</h6></td>\n
			<td><h6>$codpost</h6></td>\n
			<td align='left'><h6>$ville</h6></td>\n
			</tr>\n";
	echo "<tr><td colspan='5'><hr></td></tr>\n";
c'est bien du PHP qui est écrit et la balise <h6> correspond à une grosseur de caractère
j'ai testé les balises de <h1> (la plus grosse) à <h6> (la plus petite)
la <h6> est encore trop grosse comment fait-on pour écrire en plus petit caractère
merci encore à tous
Quand on a passé des heures voir des jours à tourner parce qu'une virgule était mal placée, on est content de trouver un forum où l'on obtient des réponses ultra rapide

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

12 nov. 2007, 19:46

<tr>
     <td><h6><?php echo $id; ?></h6></td>
     <td><h6><?php echo $nom; ?></h6></td>
     <td><h6><?php echo $prenom; ?></h6></td>
     <td><h6><?php echo $adresse; ?></h6></td>
     <td><h6><?php echo $codpost; ?></h6></td>
      <td align='left'><h6><?php echo $ville; ?></h6></td>
</tr>
<tr><td colspan='5'><hr></td></tr>
et la c'est HTML qui gère... c'est la base du développement Internet.
Pour plus de manipulations il te faut appel au CSS regarde sur alsacreations

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 319 Messages

12 nov. 2007, 19:49

pour les identifiants de connexion, pourquoi tu ne les stockes pas dans un fichier a part et tu fais un "require" ou un "include" de ce fichier quand tu en as besoin?
niveau: pas terrible en php mais je me soigne...

Eléphanteau du PHP | 13 Messages

12 nov. 2007, 23:38

Merci à truc,
pour l'écriture du script en mélangeant du PHP et Html
j'ai déjà programmé en html avec les CSS, je devrais obtenir de meilleurs résultats.
j'avoue mon ignorance dans le language PHP, j'espère que les conseils que tu donnes à petite dose vont me permettre de m'améliorer

Eléphanteau du PHP | 13 Messages

12 nov. 2007, 23:41

à Choubix,
merci de tes conseils mais comme je suis vraiment un débutant dans PHP, je ne comprends pas ce que tu me veux me dire.
Pourrais-tu être plus précis

Eléphanteau du PHP | 13 Messages

13 nov. 2007, 15:07

à Truc,
encore moi,
j'ai bien noté ta dernière réponse
tr> 
     <td><h6><?php echo $id; ?></h6></td> 
     <td><h6><?php echo $nom; ?></h6></td> 
     <td><h6><?php echo $prenom; ?></h6></td> 
     <td><h6><?php echo $adresse; ?></h6></td> 
     <td><h6><?php echo $codpost; ?></h6></td> 
      <td align='left'><h6><?php echo $ville; ?></h6></td> 
</tr> 
<tr><td colspan='5'><hr></td></tr> 
Mais mes compétences sont encore limitées

où dois-je inclure ce morceau de script dans mon fichier
<?php
$host="localhost";
$user="****";
$password="******";
$base = "***************";

$connexion = mysql_connect($host,$user,$password) or die ("connexion au serveur impossible.");

$db = mysql_select_db($base, $connexion) or die ("La base de données ne peut être sélectionnée");

$req = "SELECT id,nom,prenom,adresse,codpost,ville from membres";
$resultat = mysql_query($req) or die ("la requète ne peut être exécutée");

/*Afficher le résultat dans un tableau*/
	echo "<h1>Membres de l'amicale</h1>";
	echo "<table cellspacing='1'>";
	echo "<tr><td colspan='5'><hr></td></tr>";
	while ($ligne = mysql_fetch_array($resultat))
	{ extract($ligne);
	echo "<tr>\n
			<td><h6>$id</h6></td>\n
			<td><h6>$nom</h6></td>\n
			<td><h6>$prenom</h6></td>\n
			<td><h6>$adresse</h6></td>\n
			<td><h6>$codpost</h6></td>\n
			<td align='left'><h6>$ville</h6></td>\n
		</tr>\n";
	echo "<tr><td colspan='5'><hr></td></tr>\n";
	}
	echo "</table>\n";
mysql_close($connexion);
?>
pour que cela fonctionne comme avant
je jouerai alors sur la valeur de <h6> dans HTML
merci

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

14 nov. 2007, 01:33

à la place des mêmes lignes de code
echo "<tr>\n
            <td><h6>$id</h6></td>\n
            <td><h6>$nom</h6></td>\n
            <td><h6>$prenom</h6></td>\n
            <td><h6>$adresse</h6></td>\n
            <td><h6>$codpost</h6></td>\n
            <td align='left'><h6>$ville</h6></td>\n
        </tr>\n";
    echo "<tr><td colspan='5'><hr></td></tr>\n"; 
il faut tout simplement jouer avec les balises PHP <?php et ?>

<td> et <h6> sont des balises html tu n'as donc pas besoin de les inclure dans les balises php
<?php
echo  "<h6>$toto</h6>";
?>
est la même chose que
<h6><?php echo $toto; ?></h6>
Essaie de suivre les tutos du site du zero pour débuter en douceur :wink:

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

ViPHP
ViPHP | 2291 Messages

14 nov. 2007, 13:32

je ne comprends pas
Un truc du genre .

Ton fichier include, comme nom par exemple idendifiant.php
<?php
$server  = "localhost";
$pseudo = "ton pseudo";
$pass     = "ton pass";
$bd        = "ta table";
?>
et dans ton fichier de connexion
<?php 
include ('identifiant.php');

$host          = $server; 
$user          = $pseudo; 
$password  = $pass; 
$base         = $bd; 

$connexion = mysql_connect($host,$user,$password) or die ("connexion au serveur impossible."); 

$db = mysql_select_db($base, $connexion) or die ("La base de données ne peut être sélectionnée"); 

$req = "SELECT nom,prenom from membres"; 
$resultat = mysql_query($req) or die ("la requète ne peut être exécutée"); 

/*Afficher le résultat dans un tableau*/ 
    echo "<h1>Membres de l'amicale</h1>"; 
    echo "<table cellspacing='15'>"; 
    echo "<tr><td colspan='3'><hr></td></tr>"; 
    while ($ligne = mysql_fetch_array($result)) 
    { extract($ligne); 
    echo "<tr>\n 
            <td>$nom</td>\n 
            <td>$prenom</td>\n 
            <td align='right'>$ville</td>\n 
            </tr>\n"; 
    echo "<tr><td colspan='3'><hr></td></tr>\n"; 
    } 
    echo "</table>\n"; 
mysql_close($connexion); 
?>
ImageCe que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.

Eléphanteau du PHP | 13 Messages

14 nov. 2007, 15:48

Merci à tous qui ont bien voulu me communiquer des réponses à toutes les questions que j'ai posées.
je remercie plus particulièrement Truc pour m'avoir indiquer l'adresse du site "site duzero".
je viens d'y passer ma matinée, c'est une mine d'or pour des gens qui comme moi ne connaisse rien à PHP et Mysql.
je vais me plonger dans les applications, et j'espère qu'avec ça je vais pouvoir enfin avancer.
je m'aperçois que je connaissais rien, et qu'il est bon de commencer à Zéro.
Je pense que je vais cloturer là cette discusion.
j'aurai certainement l'occasion d'en ouvrir de nouvelles dans quelques temps
à bientôt