这是我的第一个问题。 我面临着一个让我疯狂的问题。我是PHP的新手,我觉得这是非常简单的,我无法理解。
我有这段代码:
$busca_alimento = mysql_query("SELECT * FROM alimentos");
if (empty($busca_alimento)) {
echo 'Nothing found';
}
$count = 0;
while ($alimento_informacoes = mysql_fetch_array($busca_alimento)) {
$alimento_id[$count++] = $alimento_informacoes['id'];
$alimento_categoria[$count++] = $alimento_informacoes['categoria'];
$alimento_nome[$count++] = $alimento_informacoes['nome'];
$alimento_quantidade[$count++] = $alimento_informacoes['quantidade'];
}
我想获取ID,Categoria,Nome和Quantidade行,并将数据存储在这些变量中:
$alimento_id[1]
$alimento_categoria[1]
$alimento_nome[1]
$alimento_quantidade[1]
但正在发生的事情是:
$alimento_id[1]
$alimento_categoria[2]
$alimento_nome[3]
$alimento_quantidade[4]
有谁知道发生了什么,我该如何解决这个问题?谢谢
答案 0 :(得分:2)
我更喜欢这个,不需要增加:
while ($alimento_informacoes = mysql_fetch_array($busca_alimento)) {
$alimento_id[] = $alimento_informacoes['id'];
$alimento_categoria[] = $alimento_informacoes['categoria'];
$alimento_nome[] = $alimento_informacoes['nome'];
$alimento_quantidade[] = $alimento_informacoes['quantidade'];
}
答案 1 :(得分:1)
嗯,你每次都在增加它。只增加一次:
while ($alimento_informacoes = mysql_fetch_array($busca_alimento)) {
// so first loop, its just zero, 0
$alimento_id[$count] = $alimento_informacoes['id'];
$alimento_categoria[$count] = $alimento_informacoes['categoria'];
$alimento_nome[$count] = $alimento_informacoes['nome'];
$alimento_quantidade[$count] = $alimento_informacoes['quantidade'];
// so before this line, its all zero
$count++; // then increment
// increment it after cycle is complete
}
答案 2 :(得分:1)
在循环中只增加一次$count
:
$alimento_id[++$count] = $alimento_informacoes['id'];
$alimento_categoria[$count] = $alimento_informacoes['categoria'];
$alimento_nome[$count] = $alimento_informacoes['nome'];
$alimento_quantidade[$count] = $alimento_informacoes['quantidade'];
答案 3 :(得分:1)
仅增加$ count一次,然后将其用作下标。
while ($alimento_informacoes = mysql_fetch_array($busca_alimento)) {
$count++;
$alimento_id[$count] = $alimento_informacoes['id'];
$alimento_categoria[$count] = $alimento_informacoes['categoria'];
$alimento_nome[$count] = $alimento_informacoes['nome'];
$alimento_quantidade[$count] = $alimento_informacoes['quantidade'];
}
根据$ count的初始值以及您要使用的值,您可能需要将$count++
移动到循环的末尾。
答案 4 :(得分:1)
$busca_alimento = mysql_query("SELECT * FROM alimentos");
if (empty($busca_alimento)) {
echo 'Nothing found';
}
$count = 0;
while ($alimento_informacoes = mysql_fetch_array($busca_alimento)) {
$alimento_id[$count] = $alimento_informacoes['id'];
$alimento_categoria[$count] = $alimento_informacoes['categoria'];
$alimento_nome[$count] = $alimento_informacoes['nome'];
$alimento_quantidade[$count] = $alimento_informacoes['quantidade'];
$count++;
}