вывести echo после цикла
первое echo правильно (это и понятно), второе echo выводит последнюю запись (это тоже понятно почему), а как можно заставить второе echo выводить именно ту строку из БД, которая мне нужна, например, 3
$id_= null;
for($i = 1; $i<50; $i++ ) {
$id_i = $id_.$i;
if(isset($id_i)){
$sql = "SELECT * FROM pers WHERE `id` = '$id_i'";
if($result = $conn->query($sql)){
foreach($result as $row){
$id_i = $row['id'];
$mi_i = $row['mi'];
$ya_i = $row['ya'];
$che_i = $row['che'];
echo " ".$id_i." ".$mi_i." ".$ya_i." ".$che_i." ";
}
$result->free();
} else{
echo "Ошибка: " . $conn->error;
}
}
else{
$mi_i = "";
$ya_i = "";
$che_i = "";
}
}
if($id_i=3){
echo " mi ".$mi_i;}
Ответы (2 шт):
Автор решения: dr.man37
→ Ссылка
$id_= null;
for($i = 1; $i<50; $i++ ) {
$id_i = $id_.$i;
if(isset($id_i)){
$sql = "SELECT * FROM pers WHERE `id` = '$id_i'";
if($result = $conn->query($sql)){
foreach($result as $row){
$id_i = $row['id'];
$mi_i = $row['mi'];
$ya_i = $row['ya'];
$che_i = $row['che'];
//echo " ".$id_i." ".$mi_i." ".$ya_i." ".$che_i." ";
$array [$id_i] = $mi_i." ".$ya_i." ".$che_i;
}
$result->free();
} else{
echo "Ошибка: " . $conn->error;
}
}
else{
$mi_i = "";
$ya_i = "";
$che_i = "";
}
}
if($id_i=3){
//echo " mi ".$mi_i;
echo $array[$id_3];}
Автор решения: Nekto
→ Ссылка
$id_= null;
for($i = 1; $i<50; $i++ ) {
$id_i = $id_.$i;
if(isset($id_i)){
$sql = "SELECT * FROM pers WHERE `id` = '$id_i'";
if($result = $conn->query($sql)){
$sch = 0;
foreach($result as $row){
$sch = $sch + 1;
$id_i = $row['id'];
$mi_i = $row['mi'];
$ya_i = $row['ya'];
$che_i = $row['che'];
if($sch == 3){
echo " ".$id_i." ".$mi_i." ".$ya_i." ".$che_i." ";
}
//echo " ".$id_i." ".$mi_i." ".$ya_i." ".$che_i." ";
$array [$id_i] = $mi_i." ".$ya_i." ".$che_i;
}
$result->free();
} else{
echo "Ошибка: " . $conn->error;
}
}
else{
$mi_i = "";
$ya_i = "";
$che_i = "";
}
}