2015-10-27 5 views
-3

У меня есть запрос, который Echos результатов ряда ...Результата ЗЕЬЕСТА как входное значение PHP

<?php 
$sql = "SELECT dba_name, contact_owner, phone, confirmation_code, physical_address, physical_city, physical_state, physical_zip, urep FROM mpas"; 
$result = $conn->query($sql); 
?> 

Позже я эхо некоторых результатов для пользователя, чтобы увидеть ...

<?php 
if ($result->num_rows > 0) { 
    while($row = $result->fetch_assoc()) { 
     echo "<strong>Confirmation Code: " . $row["confirmation_code"]. "<br></strong>"; 
..... 
?> 

Далее в коде я хочу использовать тот же результат, что и значение скрытого поля. Я пробовал несколько вещей без успеха. Значение пустое/пустое. Вот моя последняя попытка.

<?php echo "<input hidden name='confc' value='".$row['confirmation_code']."'>" ; ?> 

Я уверен, что это что-то простое, что я не делаю, но надеюсь, что кто-то может мне помочь. Я попробовал посмотреть в Интернете на вопрос, но мне трудно найти ответ, который относится к этой конкретной проблеме.

+0

Вы делаете это на той же странице?или у вас есть объект соединения на странице, которую вы извлекаете? –

+0

Вы эхо скрываете вход внутри или вне его? –

+0

_В дополнение к коду, я хочу использовать тот же результат. Вы хотите использовать это снова внутри цикла while или цикл while, который потребляет весь результирующий набор, завершенный тогда – RiggsFolly

ответ

0

Я почти уверен, что вы сделали еще один запрос в то же время (и даже если у вас нет, вы ничего не зацикливание) , Попробуйте что-то вроде этого:

<?php 
$codes = array(); 
if ($result->num_rows > 0) { 
    while($row = $result->fetch_assoc()) { 
     $codes[] = $row['confirmation_code']; 
     echo "<strong>Confirmation Code: " . $row["confirmation_code"]. "<br></strong>"; 
..... 
foreach ($codes as $c) { 
    echo "<input type='hidden' name='confc' value='".$c."'>" ; 
} 
?> 

Обратите внимание, что если вы получите несколько строк назад, вы только собираетесь получить один confc значение (последний). Если это то, что вы хотите, то я думаю (но вы могли бы просто использовать строку, а не массив). Если нет, то вам придется положить идентификационный номер на имя сокровенный:

foreach ($codes as $k=>$c) { 
    echo "<input type='hidden' name='confc".$k."' value='".$c."'>" ; 
} 
+0

Вы также повторили синтаксическую ошибку OP '

+0

Я предполагал, что это было преднамеренно, поэтому он может видеть, работает ли его поле, не проверяя источник. В любом случае, это не имеет никакого значения для вопроса (или ответа). –

+0

Да, я знаю. Этот вопрос представляет собой обычную банку червей. Из-за этого многие получали downvotes, и я могу честно сказать, что это был не я. Люди, которые дают ответы в попытках помочь, не должны наказываться за чужую ошибку. –

-1

Я думаю, что вы не декларирование скрыты правильно:

<input type="hidden" ... 
-2

Там нет необходимости повторить больше, чем нужно так.

<input type="hidden" name="confc" value="<?php echo $row['confirmation_code']; ?>" /> 
0

Почему бы не установить значение переменной php, если вы собираетесь использовать его несколько раз? (Это не может исправить вопрос, но он может сглаживать некоторые возможные проблемы)

if ($result->num_rows > 0) { 
    $row = $result->fetch_assoc()) { 
    $confc = $row[`confirmation_code`]; 

Затем поместите его в качестве значения:

<input type="hidden" name="confc" value="<?php echo $confc; ?>"> 

Или, если вы собираетесь продолжать с echoing it, что-то вроде этого:

<?php echo "<input type= 'hidden' name='confc' value='".$confc."'>";?> 
+0

Это не мой нисходящий знак, но это неправильное '

+0

@ Fred-ii- Я не заметил, я скопировал и вставил его код спасибо, хотя –

+0

Добро пожаловать. –

-1

Почему вы не храните это в переменной?

while($row = $result->fetch_assoc()) { 
     $confirmation_code = $row["confirmation_code"]; 

echo "<strong>Confirmation Code: " . $row["confirmation_code"]. "<br></strong>"; 
..... 

<?php echo "<input hidden name='confc' value='"$confirmation_code"'>" ; ?> 
+0

Не мой нисходящий нигде здесь. Но вы также повторили одну из синтаксических ошибок OP '

0

Вы можете объявить еще один массив, в котором хранятся все строки, на которые ссылается первичный ключ таблицы базы данных SELECT. Если ни один из выбранных столбцов не является первичным ключом, вы должны добавить его в свой оператор select, например. id column

$sql = "SELECT id, dba_name, contact_owner, phone, confirmation_code, physical_address, physical_city, physical_state, physical_zip, urep FROM mpas"; 

if ($result->num_rows > 0) { 
    $all_rows = array(); 
    while($row = $result->fetch_assoc()) { 
     $all_rows[$row["primary_key_of_your_table"]] = $row; 
     echo "<strong>Confirmation Code: " . $row["confirmation_code"]. "<br></strong>"; 
    } 
} 

Таким образом, в дальнейшем вы можете использовать $ ALL_ROWS напечатать некоторые HTML вроде этого:

if (isset($all_rows[1])) { //Access the row with primary key 1 (as an example) 
    echo "<input type=\"hidden\" name='confc' value='".$all_rows[1]['confirmation_code']."'>" ; 
} 
Смежные вопросы