Задать вопрос
@danyfir

Как вывести переменную из цикла while?

Имеется код в котором присутствует цикл while , который бродит по БД.

$postID = $_POST['label'];

  if ($proverka == 'da') {
    $db = new Mysqli("localhost", "neskazhu", "neskazhu", "neskazhu");
    $result = mysql_query ("SELECT * FROM mytable WHERE meta_key='subject_name' AND meta_value='$postID'");
    $sql=mysql_fetch_assoc($result);
    while ($row = mysql_fetch_assoc($result)) {
    $buf = $row['post_id'];
    update_post_meta($buf, 'payment', 'Да');
    }
$postID = $buf; //вот тут хочу вытащить последний элемент из цикла, а он не выходит... (мне без разницы, на самом деле, последний или первый достать элемент, мне он нужен просто)
    }


Не могу достать переменную $buf вне цикла while (хотя может if не дает, но это вряд ли). Помогииите!

Либо, как вариант, без цикла достать как-то $row['post_id']; первый самый... Но что-то не пойму как...
  • Вопрос задан
  • 490 просмотров
Подписаться 2 Простой 1 комментарий
Решения вопроса 1
@nozzy
Symfony, Laravel, SQL, Python, Telegram
без цикла достать как-то $row['post_id']; первый самый...

для этого есть LIMIT:
$result= mysql_query ("SELECT * FROM mytable WHERE meta_key='subject_name' AND meta_value='$postID' LIMIT 1");
$row = mysql_fetch_assoc($result);
echo $row['post_id'];
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
twobomb
@twobomb
Попробуй так
$postID = $_POST['label'];

  if ($proverka == 'da') {
    $db = new Mysqli("localhost", "neskazhu", "neskazhu", "neskazhu");
    $result = mysql_query ("SELECT * FROM mytable WHERE meta_key='subject_name' AND meta_value='$postID'");
    $sql=mysql_fetch_assoc($result);
	$buff = 0;
    while ($row = mysql_fetch_assoc($result)) {
    $buf = $row['post_id'];
    update_post_meta($buf, 'payment', 'Да');
    }
$postID = $buf; //вот тут хочу вытащить последний элемент из цикла, а он не выходит... (мне без разницы, на самом деле, последний или первый достать элемент, мне он нужен просто)
    }
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы