почему нельзя получить значение из базы данных WordPress галереи nextgen в выпадающем списке тегов - PullRequest
0 голосов
/ 22 октября 2019

Привет всем, у меня есть этот код, это печать массива в результате, но не получение значения в выпадающем списке выбора. Я хочу получить имена галерей следующего поколения из базы данных! Скажи мне, где я не прав

<select>
<?php
foreach($gallerylist as $galleryrow) {?>
<?php echo $galleryrow; ?>
<option value="<?php echo $galleryrow; ?>"><?php echo $galleryrow; ?></option>
<?php}
?>
</select> 
global $wpdb;
$gallerydefine= $wpdb->prefix."ngg_gallery";
$query="SELECT * FROM $gallerydefine";
$gallerylist = $wpdb->get_results($query);

Ответы [ 2 ]

0 голосов
/ 22 октября 2019

Попробуйте прочитать свой код как книгу:

  1. Сначала вы пытаетесь напечатать список галерей (которых у вас нет, это неопределенная переменная) какa selectbox:

    <select>
    <?php
    foreach($gallerylist as $galleryrow) { ?>
        <?php echo $galleryrow; ?>
        <option value="<?php echo $galleryrow; ?>"><?php echo $galleryrow; ?></option>
    <?php } ?>
    </select> 
    
  2. После этого вы загружаете список галерей из базы данных, но вы ничего не используете, вы просто загружаете его, а затемСценарий заканчивается:

    global $wpdb;
    $gallerydefine= $wpdb->prefix."ngg_gallery";
    $query="SELECT * FROM $gallerydefine";
    $gallerylist = $wpdb->get_results($query);
    

Очевидно, это не имеет никакого смысла. Это как обед, когда вы сначала «едите это» (даже если у вас его нет), а потом идете покупать ингредиенты, готовите его и идете спать, не съев его на самом деле.

Просто подумайте, что выВы делаете все в правильном порядке.

Важные замечания

  1. включить отчеты и с отображением всех ошибок, включая предупреждения и уведомления в вашей локальной среде разработки. Если вы включите его, вы сразу узнаете, что делаете что-то не так: он скажет, что вы используете неопределенную переменную $gallerylist внутри цикла foreach.

  2. Кроме того, неплохо бы проверить, не было ли ошибок базы данных сразу после выполнения запроса к базе данных.

  3. Всегда проверить, какой HTMLкод - это ваш скрипт, генерирующий . Вы можете увидеть только пустую веб-страницу, но за этим может быть много HTML-кода. Например, вы печатаете текст между тегами HTML <select> и <option>, что недопустимо.

  4. И используйте отладчик и выполните шаг сценария. шаг за шагомВы поймете, в каком порядке выполняются операторы, какие значения переменных содержатся в определенный момент времени и т. Д.

0 голосов
/ 22 октября 2019

Ваш код не в порядке. Измените его на:

<?php
global $wpdb;
$gallerydefine = $wpdb->prefix."ngg_gallery";
$query="SELECT * FROM {$gallerydefine}";
$gallerylist = $wpdb->get_results($query);
?>
<select>
<?php
foreach($gallerylist as $galleryrow) {?>

<option value="<?php echo $galleryrow->gid; ?>"><?php echo $galleryrow->name; ?></option>
<?php}
?>
</select> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...