Au secours php

Fermé
pagnah Messages postés 18 Date d'inscription samedi 18 septembre 2010 Statut Membre Dernière intervention 16 mai 2012 - 18 sept. 2010 à 21:24
pagnah Messages postés 18 Date d'inscription samedi 18 septembre 2010 Statut Membre Dernière intervention 16 mai 2012 - 24 sept. 2010 à 15:51
Bonjour,
je suis un sérieux débutant en php et là j'ai besoin d'un coup de main, je voudrais savoir s'il est possible d'insérer du code php directement ds du html c'est à dire : ne pas avoir le code html et le code php séparer ms que le php soit écrit ou inscrit directement ds le html.
autre choses j'ai fais qlq petites recherche et j'ai trouvé comment connecté le php à une BD, ms j'aimerais savoir comment savoir si je suis connecté à la base, y a t il un programme permettant de le savoir concrètement, merci à tous



A voir également:

11 réponses

Dynamix Messages postés 202 Date d'inscription dimanche 22 mars 2009 Statut Membre Dernière intervention 30 avril 2011 76
18 sept. 2010 à 21:31
Oula j'ai peur de ne pas saisir du tout là...

Peux-tu essayer de nous la refaire?
0
pagnah Messages postés 18 Date d'inscription samedi 18 septembre 2010 Statut Membre Dernière intervention 16 mai 2012
19 sept. 2010 à 16:57
Bien, en fait j'ai une bd dejà fait et à partir de cette bd, recueillir un certain nombre d'info, ms on me demande de le faire en php. alors je voulais savoir :
* en premier s'il serait possible d'inserer du code php ds du html
* après comment tester la connectivité de son code à la bd plus exactement.

bien j'ai essayer de lire des cours sur le php ms bon par rapport au travail dmdé je n'avance pas vraiment raison pr laquelle j'avais besoin d'aide d'expert, merci bien .
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
Modifié par Alain_42 le 18/09/2010 à 21:59
savoir s'il est possible d'insérer du code php directement ds du html

facile tu mets les tags <?php ?> a l'endroit désiré et tu nommes ton fichier en .php
exemple:
<html> 
<body> 
Ceci est un exemple: <br /> 
<?php 
$name="Jacques"; 
echo "bonjour ".$name; 
?> 
<br />suite du html 
</body> 
</html> 



comment savoir si je suis connecté à la base


<?php 

$cnx=mysql_connect('ton_host','ton_login','ton_password'); 

if($cnx){ 
  echo "Connexion BDD OK"; 
}else{ 
  echo "Connexion BDD impossible"; 
} 

?>


autre methode:

<?php 

$cnx=mysql_connect('ton_host','ton_login','ton_password') or die("pb connexion a la BDD ".mysql_error()); 

//si pb ça arrêtes le script et te donnes l'erreur 
//si ok le script continue 

?>
0
pagnah Messages postés 18 Date d'inscription samedi 18 septembre 2010 Statut Membre Dernière intervention 16 mai 2012
19 sept. 2010 à 16:52
Merci bcp à toi Alain_42, je vais essayer ta solution et te donner une suite, il se fait que j'ai eu à faire un truc comme çà ms moi je l'ai nommé .html, j'aimerais aussi savoir si je peux tte fois pouvoir le compiler et l'avoir un résultat, bien regarde le code plus exactement:

<html>
<body>
<?php
// information pour la connection à le DB
$host = 'localhost';
$user = 'root';
$pass = ' ';
$db = 'pre';

// connection à la DB

$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());

// requête SQL qui compte le nombre total d'enregistrements dans la table et qui
//récupère tous les enregistrements


$select = 'SELECT 'Cellule' , 'RTCH Attemps' FROM 'cellules' WHERE 'id' =6';
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);

echo'$result';


// si on a récupéré un résultat on l'affiche.

if($total) {

// début du tableau

echo 'table bgcolor="#FFFFFF"' "\n";

// première ligne on affiche la cellule et le RTCH dans 2 colonnes

echo '<tr>';
echo '<td bgcolor="#669999"><b><u>cellule</u></b></td>';
echo '<td bgcolor="#669999"><b><u>RTCH Attemps</u></b></td>';
echo '</tr>'."\n";

}
echo '</table>'."\n";
// fin du tableau.
}
else echo 'Pas d\'enregistrements dans cette table...';

// on libère le résultat


mysql_free_result($result);

?>
</body>
</html>

bien c'est en quelque sorte le travail que j'ai à faire et là c'était un essaie que j'ai fais en faisant quelque recherches, mais ce fichier je l'ai nommé en .html, est ce correcte? ou faudrait il que je scinde les codes séparément . Merci bien à toi pour l'aide.
0
Dynamix Messages postés 202 Date d'inscription dimanche 22 mars 2009 Statut Membre Dernière intervention 30 avril 2011 76
19 sept. 2010 à 17:24
Ceci est correct (fonctionnel du moins), mais si ta page contient du PHP, tu dois mettre l'extension .php (exemple : index.php).

Sinon l'html ou le php ne sont pas des langages compilés.
0
pagnah Messages postés 18 Date d'inscription samedi 18 septembre 2010 Statut Membre Dernière intervention 16 mai 2012
19 sept. 2010 à 20:00
ah c gentil, merci du conseil, je confondais un peu tout, malgré les cours que j'ai lu sur le net ms là tt commence par rentrer ds l'ordre. merci encore
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
19 sept. 2010 à 18:12
Comme je te disait, pas besoin de séparer le php du html mais tu dois le nommer en .php et le mettre dans le repertoire www de wamp ou chez un hebergeur et l'ppeler depuis le navigateur en tapant son url dans la barre d'adresse

Des erreurs, voir mes commentaires

au besoin va faire un tour sur le site: www.siteduzero.com

<html>
<body>
<?php
// information pour la connection à le DB
$host = 'localhost';
$user = 'root';
$pass = ' ';
$db = 'pre';

// connection à la DB

$link = mysql_connect ($host,$user,$pass) or die ('Pb connexion serveur : '.mysql_error() );
mysql_select_db($db) or die ('Pb selection base :'.mysql_error());

// requête SQL qui compte le nombre total d'enregistrements dans la table et qui
//récupère tous les enregistrements


$select = 'SELECT Cellule,RTCH Attemps FROM cellules WHERE id =6'; //il ne faut pas mettre de ' pour les noms des champss Cellule, RTCH Atemps ainsi que pour le nom de la table 
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);

//echo'$result';  
//ligne ci dessus ne fonctionne pas car entre ' la variable n'est pas interprétée
echo $result ; //ou echo "$result"; //entre " la variable php est interprété et va t'afficher ce que contient $result
//de plus $result contient seulement la ressource ou sont stockés les résultats de la requette

// si on a récupéré un résultat on l'affiche.


if($total>0) { //comparer à zéro c'est plus logique
    ///// ATTENTION il faut d'abord recupérer le résultat qui est stocké pour le moment en mémoire 
    $donnees=mysql_fetch_assoc($result); //recupre la ligne du resultat dans un array $donnees
    // début du tableau

    echo '<table bgcolor="#FFFFFF"'> "\n"; //la il te manquait les <  > de debut et fin de balise <table...>

    // première ligne on affiche la cellule et le RTCH dans 2 colonneshou plutôt les titres des colonnes (avec th au lieu de td ça les met en gras )

    echo '<tr>';
    echo '<th bgcolor="#669999"><u>cellule</u></td>';
    echo '<th bgcolor="#669999"><u>RTCH Attemps</b></td>';
    echo '</tr>'."\n";
    //ligne suivante les valeurs lues dans la base
    echo '<tr>';
    echo '<td bgcolor="#669999">'.$donnees['cellule'].'</td>'; 
    echo '<td bgcolor="#669999">'.$donnees['RTCH Attemps'].'</td>';
    echo '</tr>'."\n";
    
    // } //la une } en trop
    echo '</table>'."\n";
    // fin du tableau.
}else{ //mets tout le temps des { } si tu dois rajouter une instruction ensuite ça evite de l'oublier
    echo 'Pas d\'enregistrements dans cette table...';
 }

// on libère le résultat


mysql_free_result($result);

?>
</body>
</html> 
0
pagnah Messages postés 18 Date d'inscription samedi 18 septembre 2010 Statut Membre Dernière intervention 16 mai 2012
19 sept. 2010 à 19:51
merci bcp, t'es un pro, je vais essayer çà cette soirée j'avoue que ton aide m'a été très précieuse, d'autant plus que je faisais grosse erreur, je ne savais même pas kil fallait mettre le fichier ds le répertoire www, ignorant que je sois je le mettais ds un dossier sur le bureau et le lançais, croyant que çà allait marcher, je suis allé sur le siteduzero ms faut dire que je n'ai pas eu grand aide à part les cours, merci pr l'aide je te donne une suite du résultat demain, encore merci bien .
0
pagnah Messages postés 18 Date d'inscription samedi 18 septembre 2010 Statut Membre Dernière intervention 16 mai 2012
20 sept. 2010 à 10:16
Bonjour Alain_42, j'ai testé la correction que tu m'as faite et j'ai une erreur de ce genre :

Warning: mysql_connect() [function.mysql-connect]: Accès refusé pour l'utilisateur: 'root'@'@localhost' (mot de passe: OUI) in C:\Program Files\EasyPHP5.2.10\www\resultat.php on line 12
Pb connexion serveur : Accès refusé pour l'utilisateur: 'root'@'@localhost' (mot de passe: OUI)

à priori je vois que c'est une pb d'accès au serveur si je ne me trompe ms le host et le username de ma base sont bien respectivement 'localhost' et 'root' ou penses tu que j'ai mal écrit celà?
j'ai également fait une recherche ou l'on parle d'ajouter le port à coté de localhost, est ce là l'erreur en fait?

Voici un peu ce que j'ai mis ds mon fichier .php:


<html>
<body>
<?php
// information pour la connection à le DB
$host = 'localhost';
$user = 'root';
$pass = ' ';
$db = 'pre';

// connection à la DB

$link = mysql_connect ($host,$user,$pass) or die ('Pb connexion serveur : '.mysql_error() );
mysql_select_db($db) or die ('Pb selection base :'.mysql_error());

$select = 'SELECT Cellule,RTCH Attemps FROM cellules WHERE id =6';
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);

echo $result ;

//on a récupère le résultat et on l'affiche.

if($total>0) {

$donnees=mysql_fetch_assoc($result);
echo '<table bgcolor="#FFFFFF"'> "\n"; // n'y a t il pas une erreur à cette ligne? je veux dire erreur de crochet?

echo '<tr>';
echo '<th bgcolor="#669999"><u>cellule</u></td>';
echo '<th bgcolor="#669999"><u>RTCH Attemps</b></td>';
echo '</tr>'."\n";

//ligne suivante les valeurs lues dans la base

echo '<tr>';
echo '<td bgcolor="#669999">'.$donnees['cellule'].'</td>';
echo '<td bgcolor="#669999">'.$donnees['RTCH Attemps'].'</td>';
echo '</tr>'."\n";

echo '</table>'."\n";

}

else{
echo 'Pas d\'enregistrements dans cette table...';

}

// on libère le résultat


mysql_free_result($result);

?>
</body>
</html>

Merci bien pr le coup de main
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
20 sept. 2010 à 11:05
Accès refusé pour l'utilisateur: 'root'@'@localhost' (mot de passe: OUI)

EasyPhp attend un mot de passe apparemment, n'aurait tu pas lors de l'installation de easyphp sur ton micro mis un mot de passe pour mysql ?
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
20 sept. 2010 à 11:07
Accès refusé pour l'utilisateur: 'root'@'@localhost' (mot de passe: OUI)

EasyPhp attend un mot de passe apparemment, n'aurait tu pas lors de l'installation de easyphp sur ton micro mis un mot de passe pour mysql ?
0
pagnah Messages postés 18 Date d'inscription samedi 18 septembre 2010 Statut Membre Dernière intervention 16 mai 2012
20 sept. 2010 à 14:51
slt Alain_42, non je n'ai pas mis de mot de passe pr mysql, mais par contre je suis allé sur ce site: http://www.info-3000.com/phpmysql/interfacephpmysql.php
et j'ai essayer de suivre son exemple et j'ai concocté un truc qui ressemble à cela:

<?php
// connection à la DB

@mysql_connect ("localhost", "root", " ") or die or die("Impossible de se connecter à la base de données"); // + mysql_error() );

// connection à la table
@mysql_select_db("pre") or die ("Pb de table"); //.mysql_error());

// ici les ' de la requête pcq c cette même requête marche ds le mysql, alors j'ai fais un copier-coller depuis le sql de phpmyadmin

$result = mysql_query("SELECT 'Cellule','RTCH Attemps' FROM 'cellules' WHERE 'id'=6;");

for ($Compteur=0 ; $Compteur<mysql_numrows($result) ; $Compteur++)
{
$Cellule = mysql_result($result , $Compteur , "Cellule");
$RTCH Attemps = mysql_result($result , $Compteur , "RTCH Attemps");
echo $Cellule , " " , $RTCH Attemps , " <BR>";
}
echo mysql_numrows($result , 6 , "Cellule","RTCH Attemps");
mysql_free_result($result);

mysql_close();

?>
mais malgré çà je rencontre des erreurs de syntaxe. au niveau des echo, je ne comprends plus rien du tout.
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
20 sept. 2010 à 20:48
déja tu as une erreur à cette ligne:

$RTCH Attemps = mysql_result($result , $Compteur , "RTCH Attemps"); il ne faut ABSOLUMENT PAS d'espace dans les noms de variables php

$RTCH_Attemps = mysql_result($result , $Compteur , "RTCH Attemps");


et la tu as 2 fois or die
@mysql_connect ("localhost", "root", " ") or die or die("Impossible de se connecter à la base de données"); // + mysql_error() );


de plus ne te disperses pas essayes de débugger un script plutôt que de chercher d'autres scripts

je remarques aussi que tu as: @mysql_connect ("localhost", "root", " ") hormis le fait que tes valuers sont entre des "

le mot de pass est un espace

donc avec les script que l'on testait avant ça donne:

<html>
<body>
<?php
// information pour la connection à le DB
$host = "localhost";
$user = "root";
$pass = ""; //si tu n'as pas de mot de passe il ne faut pas d'esapce entre les "
$db = 'pre';

// connection à la DB

$link = mysql_connect ($host,$user,$pass) or die ('Pb connexion serveur : '.mysql_error() ); //laisse les traces d'erruer mysql_error() c'est utile pour debugger
mysql_select_db($db) or die ('Pb selection base :'.mysql_error());

$select = 'SELECT Cellule,RTCH Attemps FROM cellules WHERE id =6';
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);

echo $result ;

//on a récupère le résultat et on l'affiche.

if($total>0) {

$donnees=mysql_fetch_assoc($result);
echo '<table bgcolor="#FFFFFF"'> "\n"; // n'y a t il pas une erreur à cette ligne? je veux dire erreur de crochet?

echo '<tr>';
echo '<th bgcolor="#669999"><u>cellule</u></td>';
echo '<th bgcolor="#669999"><u>RTCH Attemps</b></td>';
echo '</tr>'."\n";

//ligne suivante les valeurs lues dans la base

echo '<tr>';
echo '<td bgcolor="#669999">'.$donnees['cellule'].'</td>';
echo '<td bgcolor="#669999">'.$donnees['RTCH Attemps'].'</td>';
echo '</tr>'."\n";

echo '</table>'."\n";

}

else{
echo 'Pas d\'enregistrements dans cette table...';

}

// on libère le résultat


mysql_free_result($result);

?>
</body>
</html>



avec ça quelle erreur as tu ?
0
pagnah Messages postés 18 Date d'inscription samedi 18 septembre 2010 Statut Membre Dernière intervention 16 mai 2012
21 sept. 2010 à 09:20
Bonjour Alain_42, merci du conseil, j'en prends note, faut dire que j'ai été un peu vite découragé ms bon je peux encore tenir. Bien, j'ai essayer la dite solution sans rien changer , j'ai une erreur de type :

Erreur : Champ 'RTCH' inconnu dans field list

Est ce çà veut dire qu'il ne reconnait pas Le RTCH de la table ou il ne la lit pas du tout ? merci énormement pour l'aide.
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
21 sept. 2010 à 09:51
ha on progresse tu vois

cette erreur veut dire que dans ta requette:
'SELECT Cellule,RTCH Attemps FROM cellules WHERE id =6'

il ne retrouve pas dans ta table le champ RTCH
alors deux solutions soit tu changes le nom du champ RTCH Attemps dans ta table par RTCH_Attemps et idem dans la requette bien sur

soit tu encadres dans la requette RTCH Attemps par des '

toujours le mêm pb des espaces dans les noms

évites les espaces, les accents les caracteres spéciaux
0
pagnah Messages postés 18 Date d'inscription samedi 18 septembre 2010 Statut Membre Dernière intervention 16 mai 2012
Modifié par pagnah le 21/09/2010 à 12:09
bien j'ai changé la requette et voici ce que j'ai mis
'SELECT Cellule,RTCH_Attemps FROM cellules WHERE id =6'

çà marche et là je commence par avoir une solution que voici :
Resource id #31CelluleRTCH_Attemps Adanka_2 4365

je ne comprends pas en fait le Ressource id#31, il devrait pas s'afficher

je pensais que çà devait s'afficher sous forme de tableau tu type :

| Cellule_____|___ RTCH_Attemps |
| Adanka_2 __| ___4365_________|

excuse moi ms les tirait sont là pr représenter le tableau en fait pr te donner une idée de ce que j'essaie de faire.
merci bien pour ton aide et ta motivation, çà me donne le courage de continuer. merci encore
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
21 sept. 2010 à 16:45
super ça progresse, c'est comme ça qu'on apprend, par étapes, deux erreurs:

<html>
<body>
<?php
// information pour la connection à le DB
$host = "localhost";
$user = "root";
$pass = ""; 
$db = 'pre';

// connection à la DB

$link = mysql_connect ($host,$user,$pass) or die ('Pb connexion serveur : '.mysql_error() ); 
mysql_select_db($db) or die ('Pb selection base :'.mysql_error());

$select = 'SELECT Cellule,RTCH_Attemps FROM cellules WHERE id =6';
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);

//echo $result ; //c''est cet echo qui t'affichait Resource id #31 c'est la ressource mémoire ou sont stockés les resultats

//on a récupère le résultat et on l'affiche.

if($total>0) {

$donnees=mysql_fetch_assoc($result);
echo '<table bgcolor="#FFFFFF"> \n'; //  erreur à cette ligne le ' pas au bon endroit donc la balise <table n'était pas comprise par le navigateur

echo '<tr>';
echo '<th bgcolor="#669999"><u>cellule</u></td>';
echo '<th bgcolor="#669999"><u>RTCH Attemps</b></td>';
echo '</tr>'."\n";

//ligne suivante les valeurs lues dans la base

echo '<tr>';
echo '<td bgcolor="#669999">'.$donnees['cellule'].'</td>';
echo '<td bgcolor="#669999">'.$donnees['RTCH Attemps'].'</td>';
echo '</tr>'."\n";

echo '</table>'."\n";

}

else{
echo 'Pas d\'enregistrements dans cette table...';

}

// on libère le résultat


mysql_free_result($result);

?>
</body>
</html>
0
pagnah Messages postés 18 Date d'inscription samedi 18 septembre 2010 Statut Membre Dernière intervention 16 mai 2012
22 sept. 2010 à 09:48
Bonjour Alain_42, je vais d'abord te remercier pr la motivation et le courage que tu m'as donné et qui m'a permis d'avancer, et pr te dire aussi que le code à parfaitement marché, il s'affiche exactement comme je le voulais, et là j'ai même l'intention d'améliorer le code pr un autre type d'affichage et je voulais savoir si je pourrais compter sur toi, aller merci encore bien, tu es un pro formidable et très sympas. Merci
0
pagnah Messages postés 18 Date d'inscription samedi 18 septembre 2010 Statut Membre Dernière intervention 16 mai 2012
22 sept. 2010 à 12:54
slt Alain_42 encore moi, je suis en train de modifier le programme afin qu'au lieu qu'il y ait une seule donnée qui s'affiche, qu'il y ait plusieurs données et que le tableau s'agrandisse en fonction de la grandeur des données, alors j'ai utilisé ceci, penses tu que ce soit correcte


<html>
<body>
<?php
// information pour la connection à le DB
$host = "localhost";
$user = "root";
$pass = "";
$db = 'pre';

// connection à la DB

$link = mysql_connect ($host,$user,$pass) or die ('Pb connexion serveur : '.mysql_error() );
mysql_select_db($db) or die ('Pb selection base :'.mysql_error());

//$select = 'SELECT Cellule,RTCH_Attemps FROM cellules WHERE id =3';
$select= 'SELECT * FROM cellules WHERE id<6';
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);
if($total>0)
{


$donnees=mysql_fetch_row($result);
echo '<table bgcolor="#FFFFFF"> '; // erreur à cette ligne le ' pas au bon endroit donc la balise <table n'était pas comprise par le navigateur

}
while ($row = $donnees)
{
echo $row["Cellule"];
echo $row["RTCH_Attemps"];
}
mysql_free_result($result);

?>
</body>
</html>

j'ai exécuté le programme ms il y a une bouche infinie. je ne sais pas si c'est au niveau du while l'erreur se pose. merci pr l'aide.
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
23 sept. 2010 à 21:21
if($total>0)
{
echo '<table bgcolor="#FFFFFF"> ';
//la tu peux mettre <tr><th> ....


// oui effectivement tu n'a pas fait ta boucle while correctement
    //les résultat ssont stockés en mémoire, mysql_fetch_assoc va les sortir en mettant chaque ligne d'enregistrement dans un array $rows
    // par la boucle while on les sort donc ligne par ligne tant qu'il y en a
while($row=mysql_fetch_assoc($result){
 
    //ci dessous tu dois metres des <tr> <td>
echo $row["Cellule"];
echo $row["RTCH_Attemps"];
}
echo '</table>';
}else{
    echo "Pas d'enregistrement correspondant à la recherche !";
}
mysql_free_result($result);

?>
0
pagnah Messages postés 18 Date d'inscription samedi 18 septembre 2010 Statut Membre Dernière intervention 16 mai 2012
24 sept. 2010 à 15:51
Merci énormément pr ton aide Alain_42, tu es un génie , et je t'en serai reconnaissant, le programme marche à merveille, si tu le permet je peux compter sur toi pr me donner un coup de main sur d'autre script, je suis en train d'établir un autre en ce moment, je te donne plus de détails la soirée ou demain, le tps de d'avancer un peu dans celui ci. aller merci bien et passe une belle journée. merci encore .
0