Вытащите идентификатор из таблицы mysql и замените его соответствующим именем из другой таблицы - PullRequest
0 голосов
/ 02 ноября 2011

Это, вероятно, действительно сбивает с толку, но попробуйте следовать ...

Итак, у меня есть раздел массива и foreach, как указано ниже

foreach($rows as $record){
$directorid = $record[director];


echo "

<tr class='row'><td width='74'><a href='workimgedit.php?id=$record[wid]'><div      class='workthumb'><img src='../img/work/$record[image]' class='wthumb'></div></td><td>$record[title] - $record[subtitle]</td><td>Director: $directorname, $record[crew1]</td>
<td>$record[player]</td><td>$record[code]</td>
<td class='link'><a href='workedit.php?id=$record[id]'>Edit</a></td>
</tr><tr class='offrow'><td colspan='6'></td></tr>
";
};

и мне нужно изменить $directorid на фактическое имя этого человека, а не идентификатор, поэтому мне нужно связать с first_name и last_name этой таблицы, но я нахожусь в середине отображения строк другой таблицы.

Есть ли способ сделать это?

1 Ответ

0 голосов
/ 23 октября 2012

Одно из самых простых решений - это, вероятно, просто пойти дальше и сохранить другую таблицу с именами и фамилиями в массиве directors. Затем вы можете выполнять итерацию по нему каждый раз, когда вам нужно захватить и присвоить имя, и вставить правильные данные на основе соответствующего идентификатора.

  1. Установка «directorsArray» с использованием mySQL SELECT query
  2. Поместите цикл for, который перебирает этот массив в существующем коде

Я предполагаю, что вы можете сделать шаг 1 самостоятельно, но вот шаг 2 ...

foreach($rows as $record){
    $directorid = $record[director];

    for($i=0;$i<count($directorsArray);$i++){
        if($directorsArray[$i]["directorId"]==$directorId){
            $directorName = $directorsArray[$i]["first_name"]." ".$directorsArray[$i]["last_name"];
        }
    }
    //...now you can echo "$directorName"
    echo "The director's name is: $directorName";

    echo "
    <tr class='row'><td width='74'><a href='workimgedit.php?id=$record[wid]'><div class='workthumb'><img src='../img/work/$record[image]' class='wthumb'></div></td><td>$record[title] - $record[subtitle]</td><td>Director: $directorname, $record[crew1]</td>
    <td>$record[player]</td><td>$record[code]</td>
    <td class='link'><a href='workedit.php?id=$record[id]'>Edit</a></td>
    </tr><tr class='offrow'><td colspan='6'></td></tr>
    ";
};

Однако может быть лучше попытаться использовать оператор mySQL JOIN. Проверьте этот вопрос: PHP MySQL Выберите идентификатор из одной таблицы и информацию из другой таблицы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...