|
|
|
| Есть база данных вида:
id login pass
1 vasja 123
2 egor 234
3 misha 456
Мне нужно чтобы эти записи хранились в двумерном массиве вида $dan[0][]0] == 1 $dan[2][2] == 456
Я понимаю как записать одну строчку в одномерный массив
include("includess.php");
$dan = array();
$query = "SELECT * FROM host-mail WHERE id!=''";
$result = mysql_query($query);
while ($dann = mysql_fetch_array($result)){
$dan[0] = $dann[id];
$dan[1] = $dann[login];
$dan[2] = $dann[pass];
}
|
А подскажите как это все запихнуть в двумерный как вот я написал выше чтобы был вида $dan[0][0] или $dan[0][id] | |
|
|
|
|
|
|
|
для: Blizard
(20.04.2008 в 17:31)
| | А вы ничего не путаете? Вы же и так получите двумерный массив: $dann[n][m], где n, это номер строки записи в таблице, а m, это поле данной таблицы. Зачем же его перезаписывать. | |
|
|
|
|
|
|
|
для: Blizard
(20.04.2008 в 17:31)
| |
include("includess.php");
$dan = array();
$query = "SELECT * FROM host-mail WHERE id!=''";
$result = mysql_query($query);
while ($dann = mysql_fetch_array($result)){
$dan[$dann['id']]['login'] = $dann['login'];
$dan[$dann['id']]['pass'] = $dann['pass'];
}
|
Попробуйте. | |
|
|
|
|
|
|
|
для: Valick
(20.04.2008 в 17:52)
| | так тоже не получается | |
|
|
|
|
|
|
|
для: Blizard
(20.04.2008 в 18:04)
| | А что получается? | |
|
|
|
|
|
|
|
для: Valick
(20.04.2008 в 18:16)
| | пытаюсь вывести один элемент массива и пусто, у меня помнится был код который выполняет эту операцию и он был короче приведенного выше и удобнее, просто затерялся.... | |
|
|
|
|
|
|
|
для: Blizard
(20.04.2008 в 18:41)
| | и еще вот по этому примеру $dan[$dann['id']]['login'] ---------- $dann['id'] там же цифры могут быть не по порядку и могут быть утеренными например если из базы удалю строку с id=3 то тогда такого id с таким номером уже не будет, поэтому имхо этот код все равно не подходит | |
|
|
|
|
|
|
|
для: Blizard
(20.04.2008 в 18:43)
| | А что id у вас в базе для понта??? Вот именно что связь id login и pass должна сохраняться.
По-вашему что из себя представляет двумерный массив? А то из всего вышеописанного создаётся впечатление, что вы слабо себе это представляете в пространстве. | |
|
|
|
|
|
|
|
для: Valick
(20.04.2008 в 18:51)
| | именно поэтому я на этом форуме, потому что слабо представляю себе это в пространстве, так бы не стал бы дергать других своими проблемами если бы все знал и представлял | |
|
|
|
|
|
|
|
для: Blizard
(20.04.2008 в 19:06)
| | просто напишите как то что в базе вызывать $dan['1']['1'] например и всё что я прошу, а там если код будет работать уже разберусь сам что к чему | |
|
|
|
|
|
|
|
для: Blizard
(20.04.2008 в 19:07)
| | А вот и не разберётесь. Представляете что я наворочу по причине того что я не совсем представляю, что в конечном итоге вы хотите получить.
Двумерный массив - это прямоугольник (квадрат). Турнирную таблицу представляете? Это и есть двумерный массив.
Код который я написал читать надо не $dan['1']['1'], а $dan['1']['login'] и $dan['1']['pass'] (если 1 есть такой идентификатор.
Хотите $dan['1']['1'] щас сделаю. | |
|
|
|
|
|
|
|
для: Blizard
(20.04.2008 в 19:07)
| |
include("includess.php");
$dan = array();
$query = "SELECT * FROM host-mail WHERE id!=''";
$result = mysql_query($query);
$x=0;
while ($dann = mysql_fetch_array($result))
{
$y=0;
$dan[$x][$y] = $dann['id'];
$dan[$x][$y+1] = $dann['login'];
$dan[$x][$y+2] = $dann['pass'];
$x=$x+1
}
|
| |
|
|
|
|
|
|
|
для: Valick
(20.04.2008 в 19:22)
| | нет, не работает
а когда задается массив $dan = array(); то тут это без разницы и для двумерного так и для одномерного? | |
|
|
|
|
|
|
|
для: Valick
(20.04.2008 в 19:22)
| | Добрый вечер!
Если я правильно понял вопрос, это может быть решением:
$query = "SELECT * FROM host-mail WHERE id!=''";
$result = mysql_query($query);
while($dan[]=mysql_fetch_row($query));
|
После чего мы можем пользоваться двумерным массивом $dan. | |
|
|
|
|
|
|
|
для: Апельсин
(20.04.2008 в 21:07)
| | у меня уже нервы сдают
вот так делаю
$dan = array();
$co = mysql_connect('localhost', 'host-mail', 'mail123');
if (!$co) exit ("Ошибка соеденения<br>");
$db = "host-mail";
$rd = mysql_select_db($db);
mysql_query ("set character_set_client='cp1251'");
mysql_query ("set character_set_results='cp1251'");
mysql_query ("set collation_connection='cp1251_general_ci'");
if (!$rd) exit ("Ошибка соеденения");
$query = "SELECT * FROM host-mail WHERE id!=''";
$result = mysql_query($query);
while($dan[]=mysql_fetch_row($result));
echo $dan["0"]["0"];
|
и не выводит $dan["0"]["0"] ! | |
|
|
|
|
|
|
|
для: Blizard
(20.04.2008 в 22:13)
| | А так?
:-) | |
|
|
|
|
|
|
|
для: Blizard
(20.04.2008 в 22:13)
| | Дайте пожалуйста вар дамп переменной $dan. | |
|
|
|
|
|
|
|
для: Апельсин
(20.04.2008 в 22:29)
| | пробовал и $dan[0][0]
кстате в логах ругается на синтаксис $query = "SELECT * FROM host-mail WHERE id!=''"; | |
|
|
|
|
|
|
|
для: Blizard
(20.04.2008 в 22:52)
| | надаже )) сделал вот так $query = "SELECT * FROM `host-mail` WHERE `id`!=''"; и заработало,
спасибо Valick, спасибо Апельсин ) | |
|
|
|
|
|
|
|
для: Blizard
(20.04.2008 в 22:52)
| | У меня код работает. | |
|
|
|