Page 1 sur 2

Erreur de code php

Posté : 06 févr. 2007, 12:32
par zprr
bonjour j'ai un soucie dans mon code php si quelqu'un voi lequel ,??? merci de vos reponses
<?php
defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );
?>
<table summary="VOILA TABLEAU DES ACCOUNTS">

<tr>
<th>num</th>
<th>nom</th>
</tr>


<?php 


$GLOBALS['host_db'] = "localhost"; // nom de votre serveur
$GLOBALS['user_db'] = "root"; // nom d'utilisateur de connexion à votre bdd
$GLOBALS['password']="xxxxx"; // mot de passe de connexion à votre bdd
$GLOBALS['bdd_db'] = "infoathand"; // nom de votre bdd
$GLOBALS['bdd_db_jo'] = "joomla"; // nom de votre bdd

$connect_db = connect_jo();
$req1 = "SELECT username FROM accounts"; // recupere le log du client sur joomla

mysql_close_jo();
$connect_db = connect_();


$req3 = "SELECT id, name FROM accounts where name.accounts = '$req1'";  // permet d'afficher les informations

$resultat = mysql_query($req3);
while($tab = mysql_fetch_array($resultat)) {
    echo'<tr>
    <td>'.$tab['id'].'</td>
    <td>'.$tab['name'].'</td> 
    </tr>';
}

mysql_close();

function connect() {
    global $host_db,$user_db,$password,$bdd_db;
    $connect_db = mysql_connect($host_db,$user_db,$password);
    mysql_select_db($bdd_db,$connect_db);
    return $connect_db;
}

function close() {
    global $connect_db;
    mysql_close($connect_db);
}

function connect_jo() {
    global $host_db,$user_db,$password,$bdd_db_jo;
    $connect_db = mysql_connect($host_db,$user_db,$password);
    mysql_select_db($bdd_db_jo,$connect_db);
    return $connect_db_jo;
}
function close_jo() {
    global $connect_db_jo;
    mysql_close($connect_db);
}


?> 

</table>

edit mere-teresa : C'est mieux d'utiliser php que code comme balises pour mettre en valeur ton code sur ce forum.

Posté : 06 févr. 2007, 12:35
par albat
Quelle est la nature du souci ?
- résultat incorrect ?
- décalage d'affichage ?
- message d'erreur ?
- plantage serveur ?
- nausées, vertiges, céphalées ?...

Précise la nature de ton souci,
sinon j'en connais qui vont te prescrire un suppo et au lit ! :lol:

re

Posté : 06 févr. 2007, 12:54
par zprr
la nature du soucie est que rien ne s'affiche... cetet page est destinée a afficher des informations sur la personne qui c'est loger ...

Posté : 06 févr. 2007, 17:03
par iclo
J'imagine que tu es l'auteur de ce code ? qu'as-tu déja tenté pour isoler le problème ?

Posté : 06 févr. 2007, 17:09
par mere-teresa
Est-ce que tu atteins cette page par une url de type index.php?option=com_blabla&page=mapage ?

Posté : 06 févr. 2007, 17:17
par Invité
J'imagine que tu es l'auteur de ce code ? qu'as-tu déja tenté pour isoler le problème ?
j'ai tester d'afficher tout les champs de la table en me logan et ca marche...

Posté : 06 févr. 2007, 17:17
par Invité
Est-ce que tu atteins cette page par une url de type index.php?option=com_blabla&page=mapage ?
oui j'attends cette page ainsi

Posté : 06 févr. 2007, 17:23
par mere-teresa
Est-ce que tu vois le HTML si tu le places tout au début du fichier ?
Est-ce que tu as fait CLIC-DROIT > Affiche la source ?
Qu'obtiens tu ?

Posté : 06 févr. 2007, 17:26
par re
oui je peut faire clique droit et je voi le code source.EN faite ce que je n'obtiens pas c'est le resultat de ma requete.Elle ne s'affiche pas.

Posté : 06 févr. 2007, 17:27
par re
mais j'ai changer mon code pour obtenir cela

Code : Tout sélectionner

<?php defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' ); ?> <table summary="VOILA TABLEAU DES ACCOUNTS"> <tr> <th>num</th> <th>nom</th> </tr> <?php $GLOBALS['bdd_db_jo'] = "joomla"; // nom de votre bdd $GLOBALS['host_db'] = "localhost"; // nom de votre serveur $GLOBALS['user_db'] = "root"; // nom d'utilisateur de connexion à votre bdd $GLOBALS['password']="xxxxx"; // mot de passe de connexion à votre bdd $GLOBALS['bdd_db'] = "infoathand"; // nom de votre bdd $GLOBALS['bdd_db_jo'] = "joomla"; // nom de votre bdd global $my; echo ('Utilisateur connecté : ' . giveUserName($my->id)); $connect_db = connect_(); $req = "SELECT id, name FROM accounts WHERE accounts.id = '".$my->id."'"; // permet d'afficher les informations $resultat = mysql_query($req)or die(mysql_error()); //Ne devrait donc plus afficher qu'une ligne pour l'utilisateur en cours while($tab = mysql_fetch_array($resultat)) { echo'<tr> <td>'.$tab['id'].'</td> <td>'.$tab['name'].'</td> </tr>'; } mysql_close(); function connect() { global $host_db,$user_db,$password,$bdd_db; $connect_db = mysql_connect($host_db,$user_db,$password); mysql_select_db($bdd_db,$connect_db); return $connect_db; } function close() { global $connect_db; mysql_close($connect_db); } function giveUserName($userid=0) { global $my, $database; //Si pas d'Id utilisateur, on prends celui en cours if (!$userid) {$userid=$my->id;} $sql="SELECT username FROM #__users WHERE id = " . $userid ; //#__ sera automatiquement remplacé par le sufixe de ta bdd! //Initialise la requête $database->setQuery( $sql ); //Renvoi le résultat (premier champ / premier enregistrement si plusieurs return $database -> loadResult(); } ?> </table>
me cela ne me permet pas de voir mon affichage de ma requete

Posté : 06 févr. 2007, 17:53
par mere-teresa
oui je peut faire clique droit et je voi le code source.EN faite ce que je n'obtiens pas c'est le resultat de ma requete.Elle ne s'affiche pas.
As-tu testé ta requête dans PHPMyAdmin? En faisant echo $req;

Posté : 06 févr. 2007, 17:56
par re
ben dans mon code j'ai fais echo ($req); et cela ma afficher tt ma requete.... et le id a pris la valeur 64, donc pour que cela fonctionne j'ai mis la valeur 64 a accounts.id..

Posté : 06 févr. 2007, 18:01
par mere-teresa
Maintenant, tu copies-colle cette requête et tu la testes dans PHPMyAdmin ou Eskuel, enfin tu as un truc où tu vois tes tables ?

Posté : 06 févr. 2007, 18:02
par Invité
oui dans phpmyadmin

Posté : 06 févr. 2007, 18:05
par re
j'obtiens cela
MySQL n'a retourné aucun enregistrement. (traitement: 0.0005 sec.)
requête SQL: SELECT id, name
FROM accounts
WHERE accounts.id = '".$my->id."'
LIMIT 0 , 30