MYSQL + PHP: обработка массива?

С этим в качестве моего основного кода:

$sql = "SELECT * FROM `memberlist` WHERE Active = 1";

$res = mysql_query($sql);

if (mysql_num_rows($res) > 0) {
while ($temp = mysql_fetch_array($res, MYSQL_BOTH)) {

То, что я хотел бы получить с результатами:

Через некоторое время:

  1. Получи первую запись, сделай что-нибудь.
  2. Получи первую запись, сделай что-нибудь. Получи вторую запись, сделай что-нибудь.
  3. Получи первую запись, сделай что-нибудь. Получи вторую запись, сделай что-нибудь. Получите третью запись, сделайте что-нибудь.
  4. Получи первую запись, сделай что-нибудь. Получи вторую запись, сделай что-нибудь. Получите третью запись, сделайте что-нибудь. Получите четвертую запись, сделайте что-нибудь.

… и просто продолжайте до тех пор, пока все записи не будут обработаны, а затем начните с 1. и продолжайте повторять весь процесс до тех пор, пока время выполнения не будет удовлетворено.

Это слишком сложно?

Если мне нужно уточнить, пожалуйста, дайте мне знать …

Буду признателен за помощь!

Спасибо!

0

Решение

Вот. Внешний цикл увеличивает диапазон, через который проходит внутренний цикл.

$sql = "SELECT * FROM `memberlist` WHERE Active = 1";

$res = mysql_query($sql);

if (mysql_num_rows($res) > 0) {
$arr = mysql_fetch_array($res, MYSQL_BOTH);
for($i = 0; $i < count($arr); $i++) {
for($j = 0; $j <= $i; $j++) {
var_dump($arr[$j]); // 'do somethin' here
}
}
}
0

Другие решения

как вы и просили — используйте этот код для извлечения всех строк из БД. Обратите внимание, что вы можете записывать данные каждой строки при извлечении (я поместил комментарий в код, чтобы вы знали, где это сделать), вам не нужно ждать, пока вы не получите их все.

Также обратите внимание, что я изменился mysql_ * (расстроенный) до mysqli_ *.

$sql = "SELECT * FROM `memberlist` WHERE Active = 1";
$dbLink = mysqli_connect( ); // host, username etc go here - if you haven't connected yet
$res = mysqli_query($dbLink, $sql);

$rowResults = array();
if (mysqli_num_rows($res) > 0) {

while ($temp = mysqli_fetch_array($res, MYSQL_BOTH)) {

$dataToProcess = $temp; //store just not to mess with retrieved row data

//processData, for example - trim title:
$dataToProcess['title'] = trim($dataToProcess['title']);

$rowResults[] = $dataToProcess ; // add it to results array

}
}

var_dump($rowResults); //you now have all the processed results here
0

По вопросам рекламы [email protected]