Aide ressouce id#4

Résolu
Bonjour,

Bon voila j'ai encore un problème j'ai fait un lien qui va vers une page infos_membre.php et qui affiche les informations sur le membre voila le lien :

<?php $infos = mysql_query ("SELECT id FROM membre WHERE pseudo='" . $arraymsg['pseudo'] . "'"); ?>
<p><a href="infos_membre.php?id=<?php echo $infos; ?>">Voir le profil</a></p>

Le problème c'est que $infos revoie Ressource Id #4, $arraymsg['pseudo'] renvoie bien le pseudo et j'ai testé la requête sur ma base de données qui renvoie bien le numéro de l'id.

Voila le script qui récupère l'id :

// fichier infos_membre.php

<?php
require_once ("Connections/localhost.php");
mysql_select_db ('webpourlesnuls');

if (isset($_GET['id']))
{
$id = strip_tags(mysql_real_escape_string($_GET['id']));
$req = mysql_query ("SELECT * FROM membre WHERE id='" . $id . "'")or die (mysql_error());
$query = mysql_fetch_array($req);
}
?>
<p>Pseudo : <?php echo $query['pseudo']; ?></p>
<p>E-mail : <a href="mailto:<?php echo $query['email']; ?>"><?php echo $query['email']; ?></a></p>
<p>Niveau : <?php echo $query['niveau']; ?></p>
<p>Date d'inscription : <?php echo date ('d/m/Y H:i',$query['date_inscription']); ?></p>

Et forcement une requête qui a pour id Ressource Id#4 ne renvoie rien.

Merci pour les réponses.

<?php
mysql_close();
?>

--
Windows XP ne peut pas démarrer choisissez un OS :
- MS-DOS 6.0
- Windows 3.1
Configuration: Windows Vista
Firefox 3.0.4

5 réponses

  1. Salut, tu as juste oublié un mysql_fetch_array :

    <?php
     $infos = mysql_query ("SELECT * FROM membre WHERE pseudo='" . $arraymsg['pseudo'] . "'");
    $data=mysql_fetch_array($infos);
     ?>
    
    <p>
    <a href="infos_membre.php?id=<?php echo $data['id']; ?>">Voir le profil</a>
    </p> 

    0
    1. Enfaite je l'avait mis voici l'ensemble

      <?php
      $msgaverti_query = mysql_query("SELECT * FROM chat WHERE alerte='1'");

      while ($msgaverti = mysql_fetch_array($msgaverti_query))
      {
      ?>
      <tr>
      <td><?php echo $msgaverti['id']; ?><?php $id_pseudo = mysql_query("SELECT id FROM membre WHERE pseudo='" . $msgaverti['pseudo'] . "'"); ?></td>
      <td><a href="admin.php?suppr_chat=<?php echo $msgaverti['id']; ?>">Supprimer</a></td>
      <td><a href="../infos_membre.php?id=<?php echo $id_pseudo; ?>"><?php echo $msgaverti['pseudo']; ?></a></td>
      <td><?php echo date('d/m/Y h:i',$msgaverti['date']); ?></td>
      <td><a href="../chat_direct.php#<?php echo $msgaverti['id']; ?>">Voir le message</a></td>
      <td><a href="admin.php?membre_averti=<?php echo $msgaverti['pseudo']; ?>">Avertir</a></td>
      </tr>
      <?php
      }
      ?>

      Le mysql_fetch_array est dans le while
      0
      1. Au fait mysql_num_rows revoie 1 alors je ne comprend pas pourquoi il affiche Ressource Id#17 maintenant
        0
        1. $id_pseudo = mysql_query("SELECT id FROM ...
          donc $id_pseudo est une resource
          donc echo $id_pseudo t'affiche que c'est une resource. C'est parfaitement normal.
          Même s'il n'y a qu'un seul enregistrement avec un seul champ, il faut l'extraire :
          $xx=mysql-fetch_array($id_pseudo);
          $id=$xx['id'];
          0
          1. J'y avais pas pense a ça du coup j'ai fait une boucle a l'intérieur de celle qui existe et maintenant ça marche. Merci
            0