Нужна помощь в реализации простых вещей с PHP и MYSQL - PullRequest
0 голосов
/ 23 февраля 2011

Вот мой код -

<?php 

$u = $_SESSION['username'];
while($fetchy = mysqli_fetch_array($allusers))
{

mysqli_select_db($connect,"button");
$select = "select * from button where sessionusername='$u' AND response = 'approve'";
$query = mysqli_query($connect,$select) or die('Oops, Could not connect');
$result= mysqli_fetch_array($query);
$email = mysqli_real_escape_string($connect,trim($result['onuser']));
echo $email; 

if($email){
    mysqli_select_db($connect,"users");
    $select_name = "select name, icon from profile where email = '$email'";
$query_2 = mysqli_query($connect,$select_name) or die('Oops, Could not connect. Sorry.');
$results= mysqli_fetch_array($query_2);
$name = mysqli_real_escape_string($connect,trim($results['name']));
$icon = mysqli_real_escape_string($connect,trim($results['icon']));
echo $name;
}

}

NOw, в дБ есть два ответа.Итак, два имени повторяются, но оба они одинаковы.Почему так?Например,

DB - Имена - Apple и Orange.

Отображается - Apple Apple.

Пример базы данных -

SESSIONUSERNAME      OnUSer

s@s.com              apple
s@s.com              orange

EDITED

Используя метод @ endophage -

AppleOrange и AppleOrange.

Ответы [ 2 ]

2 голосов
/ 23 февраля 2011

Поскольку ваш цикл стоит сейчас, $u всегда будет одинаковым, поэтому $select всегда будет иметь одинаковое значение, и так будет $email, и так будет $select_name, поэтому неудивительно, чтоодна и та же запись продолжает возвращаться.

Редактировать

Если запрос $select_name возвращает несколько результатов, то вам нужно перебрать результаты с помощью цикла whileдругие вопросы.

0 голосов
/ 23 февраля 2011

Попробуйте, у вас был цикл while в неправильном месте:

<?php 

$u = $_SESSION['username'];


mysqli_select_db($connect,"button");
$select = "select * from button where sessionusername='$u' AND response = 'approve'";
$query = mysqli_query($connect,$select) or die('Oops, Could not connect');
while($result = mysqli_fetch_array($query))
{
  $email = mysqli_real_escape_string($connect,trim($result['onuser']));
  echo $email; 

  if($email){
      mysqli_select_db($connect,"users");
      $select_name = "select name, icon from profile where email = '$email'";
      $query_2 = mysqli_query($connect,$select_name) or die('Oops, Could not connect. Sorry.');
      $results= mysqli_fetch_array($query_2);
      $name = mysqli_real_escape_string($connect,trim($results['name']));
      $icon = mysqli_real_escape_string($connect,trim($results['icon']));
      echo $name;
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...