|
|
|
|
так у тебя есть список всех миров где-нибудь???
в таблице users как я понимаю, лежат данные о зареганых пользователях и их пренадлежность к какому-то миру... так ?
если так, то это наверно не пойдет... мы же не узнаем о существовании мира blablabla, если в нем не будет зареганых усеров...
вобщем нужен спивок всех миров :)
(и все-таки заведи другую тему... типа "Скрипт для переписи 2" а то долго грузится уже...
А что ты предлогаешь создать еще одну таблицу с мирами?
| |
|
|
|
|
|
|
|
для: Бамси
(23.03.2006 в 00:15)
| | Немного пораскинул мозгами :)
Можно тогда в таблице users заместо миров присвоить каждому миру цифры и запрос на другую таблицу.
И создать еще одну таблицу уже с мирами, где они будут брать название миров. | |
|
|
|
|
|
|
|
для: Бамси
(23.03.2006 в 02:25)
| | именно так и надо сделать :))
а в той таблице можно хранить инфу о мирах... например описание (историю - если покатит :))... | |
|
|
|
|
|
|
|
для: kasmanaft
(23.03.2006 в 15:54)
| | Ну допусти я это зделал, теперь есть еще одна таблица Name: World в тей хроняться только ID,Name мира..
А в таблице Users за место названия я поставил цыфры...
И что дальше делать? | |
|
|
|
|
|
|
|
для: Бамси
(23.03.2006 в 16:10)
| | тааак... вот попробуй... (если честно, не уверен, что будет работать :))
<?
include "config.php";
$query = "select * from users where hide=0 order by CharsNick ASC";
$thm = mysql_query($query);
$query = "SELECT * FROM world";
if ($wn = @mysql_query($query))
{
while ($world = mysql_fetch_array($wn))
{
$id = $world['id'];
$worlds[$id] = $world['name'];
}
}
while ($themes = mysql_fetch_array($thm))
{
$CharsNick = trim($themes['CharsNick']);
// $CharsWorld - это теперь цифры, да?
$CharsWorld = trim($themes['CharsWorld']);
$worlds [$CharsWorld][] = "$CharsNick";
}
echo "<table border=1>";
foreach ($worlds as $world_id => $arr)
{
echo "<tr><td>Мир $worlds[$world_id]";
for ($q = 0; $q < count($worlds[$world_id]); $q++)
{
echo "<tr><td>".$worlds[$world_id][$q]."</td></tr>";
}
echo "</td></tr>";
}
echo "</table>";
?>
|
(пока опять в столбик :( | |
|
|
|
|
|
|
|
для: kasmanaft
(23.03.2006 в 16:36)
| | За место мира пишет Мир Array.
И всеровно я не очень понимаю, как это потом будет все вставляться в уже существующие столбики? Пока он сам создает столбики с помощью инфы из БД | |
|
|
|
|
|
|
|
для: Бамси
(23.03.2006 в 17:31)
| | в столбики ничего вставляться не будет... вставить туда чего-нибудь будет давольно таки трудно :))
счас еще ченить сболтну про Мир Array. | |
|
|
|
|
|
|
|
для: kasmanaft
(23.03.2006 в 17:51)
| | если echo "<tr><td>Мир $worlds[$world_id]";
заменить на
echo "<tr><td>Мир ".$worlds[$world_id]; ???
страница все время будет заново генерироваться... а ничего вставляться никуда просто так не будет :) | |
|
|
|
|
|
|
|
для: kasmanaft
(23.03.2006 в 17:54)
| | Я же ведь писал то что мне надо.
Столбики уже есть на том же HTML, и в них просто вставляються записи из БД, мне не надо чтоб он сам создавал столбики, а тоолько вставлял в них информацию из БД. | |
|
|
|
|
|
|
|
для: Бамси
(23.03.2006 в 18:12)
| | а в чем проблема? почему бы не создать столбики заново?
а по-другому просто так не сделаешь... легче (и наверно рациональнее) будет поступить так...
(иначе ищи другого помощьника =) потому как я не знаю как сделать, то что ты хочешь .... | |
|
|
|
|
|
|
|
для: kasmanaft
(23.03.2006 в 18:14)
| | Хе хе.
Просто так столбики появляються только из за записей в БД, что не есть очень хорошо :(
если echo "<tr><td>Мир $worlds[$world_id]";
заменить на
echo "<tr><td>Мир ".$worlds[$world_id]; ???
Сделал как ты просил, всеровно не работает.
Кстати Апач помойму настроил.
http://195.131.168.201/Perepis/spisok.php | |
|
|
|
|
|
|
|
для: Бамси
(23.03.2006 в 18:37)
| | >Просто так столбики появляються только из за записей в БД
по-моему это наоборот хорошо... добавишь еще мирок, а скрптик тебе сам все сделает.. и не придется ковыряться в html, создавать таблицу и тд....
а вообще скрипт работает?? проблема только в "Мир Array" ???
или он вообще не работает? | |
|
|
|
|
|
|
|
для: kasmanaft
(23.03.2006 в 18:47)
| | http://195.131.168.201/Perepis/spisok.php
Если хочешь могу даже FTP дать :)
Ну вообще... если это привести в порядок то тогда рботает :)
Можно чтоб столбики отображались по горизонтали, и чтоб было по 5 столбиков на экран. | |
|
|
|
|
|
|
|
для: Бамси
(23.03.2006 в 18:52)
| | вот.. думаю так должно работать :)
<?
include "config.php";
$query = "select * from users where hide=0 order by CharsNick ASC";
$thm = mysql_query($query);
$query = "SELECT * FROM world";
if ($wn = @mysql_query($query))
{
while ($world = mysql_fetch_array($wn))
{
$id = $world['id'];
$worlds[$id] = $world['name'];
}
}
while ($themes = mysql_fetch_array($thm))
{
$CharsNick = trim($themes['CharsNick']);
// $CharsWorld - это теперь цифры, да?
$CharsWorld = trim($themes['CharsWorld']);
$worlds [$CharsWorld][] = "$CharsNick";
}
echo "<table border=1><tr>";
foreach ($worlds as $world_id => $arr)
{
if (empty($wc)) $wc = 1;
$wc++;
echo "<td>Мир ".$arr."<br>";
for ($q = 0; $q < count($worlds[$world_id]); $q++)
{
echo $worlds[$world_id][$q]."<br>";
}
echo "</td>";
if (($wc%5) == 0) echo "</tr><tr>";
}
echo "</table>";
?>
|
а потом если что, можно и красоту сделать :) (когда скрипт будет работать нормально... | |
|
|
|
|
|
|
|
для: kasmanaft
(23.03.2006 в 20:23)
| | Мир Array
Chesnok
Solker
Мир Array
masya
Всеровно Array.
Попробуй заодно на апач зайти, работает? | |
|
|
|
|
|
|
|
для: Бамси
(23.03.2006 в 20:29)
| | ссылка твоя работает...
попробуй выполни вот это
<?php
include "config.php";
$query = "SELECT * FROM world";
if ($wn = @mysql_query($query))
{
while ($world = mysql_fetch_array($wn))
{
$id = $world['id'];
$worlds[$id] = $world['name'];
echo $world['id']." - ".$world['name']."<br>";
}
}
?>
|
что получится??? по идее должно (но может быть ошибка здесь...
"номер мира - название" | |
|
|
|
|
|
|
|
для: Бамси
(23.03.2006 в 00:15)
| | Вообщем вернулся к первому варианту :)
<?
include "config.php";
$query = "select * from users where hide=0 order by CharsNick ASC";
$thm = mysql_query($query);
while($themes = mysql_fetch_array($thm))
{
$CharsNick = trim($themes['CharsNick']);
$CharsWorld = trim($themes['CharsWorld']);
$worlds [$CharsWorld][] = "$CharsNick";
}
echo "<table border=1>";
foreach ($worlds as $world_name => $arr)
{
echo "<tr><td>Мир $world_name";
for ($q = 0; $q < count($worlds[$world_name]); $q++)
{
echo "<tr><td>".$worlds[$world_name][$q]."</td></tr>";
}
echo "</td></tr>";
}
echo "</table>";
?>
|
Которые прекрастно работает, осталось только сделать чтоб столбики отображались в гор. линию, и по 5 столбиков на линии, если столбиков 6 то след столбик переноситься на след линию.
И тогда я буду безгранично ра и благодарен :D | |
|
|
|
|
|
|
|
для: бамси
(23.03.2006 в 21:51)
| | ну как хочешь :) а возможно все дело было в том кусочке кода, который я приводил :)
(если все же еще не поздно вернуться, попробуй либо выполнить этот код, либо зайти в MySQL и выполни запрос оттуда... mysql лежит примерно здесь \usr\local\mysql4\bin... сначала напиши
use имя_твоей_базы_данных;
а потом
select * from world;
если второй ничего не даст, посмотри - может быть таблица не world завется?
ну а вот код, который ты просил...
<?
include "config.php";
$query = "select * from users where hide=0 order by CharsNick ASC";
$thm = mysql_query($query);
while($themes = mysql_fetch_array($thm))
{
$CharsNick = trim($themes['CharsNick']);
$CharsWorld = trim($themes['CharsWorld']);
$worlds [$CharsWorld][] = "$CharsNick";
}
echo "<table border=1><tr>";
foreach ($worlds as $world_name => $arr)
{
if (empty($wc)) $wc = 1;
$wc++;
echo "<td>Мир $world_name <br>";
for ($q = 0; $q < count($worlds[$world_name]); $q++)
{
echo $worlds[$world_name][$q]."<br>";
}
echo "</td>";
if (($wc%5) == 0) echo "</tr><tr>";
}
echo "</tr></table>";
?>
|
| |
|
|
|
|
|
|
|
для: kasmanaft
(24.03.2006 в 04:02)
| | Вообщем тот скрипт тоже заработал :)
Просто я с таблицой ступил.
Только мне надо чтоб он это все делал не в одной таблице, а каждый столбик новая отдельная таблица. И между таблицами было растояние какоято. И если в одной линии 5 таблиц, то он переходит на новую строку ниже.. | |
|
|
|
|
|
|
|
для: Бамси
(24.03.2006 в 04:51)
| | Короче вот что намутил:
<?
include "config.php";
$query = "select * from users order by CharsNick ASC";
$thm = mysql_query($query);
while($themes = mysql_fetch_array($thm))
{
$CharsNick = trim($themes['CharsNick']);
$CharsWorld = trim($themes['CharsWorld']);
$worlds [$CharsWorld][] = "$CharsNick";
}
echo "<table width=100%><tr><td>";
foreach ($worlds as $world_name => $arr)
{
// if (empty($wc)) $wc = 1;
// $wc++;
if (empty($qs)) $qs = 1;
$qs++;
echo "<td valign=top><table border=1 width=100%><tr><td>Мир $world_name</td></tr><tr><td>";
for ($q = 0; $q < count($worlds[$world_name]); $q++)
{
echo $worlds[$world_name][$q]."<br>";
}
echo "</td></tr></table></td>";
if ($qs>1) echo "</td><td width=6.25%></td><td>";
// if (($wc%5) == 0) echo "</tr><tr>";
}
echo "</td></tr></table>";
?>
|
То что получаеться можешь посомтреть на скриншоте в аттаче.
Значит мне надо чтоб после каждого столбика была строчка </td><td width=6.25%></td><td>, я так и сделал, if ($qs>1) echo "</td><td width=6.25%></td><td>"; потом чтоб она не ставил перед первым столбиком я поставил оператор IF, работает.
Но мне еще надо чтоб это не ставил перед 5 столбиком.
И так же сделать чтоб после 5 столбика оно переходило на след. строчку. | |
|
|
|
|
|
|
|
для: Бамси
(25.03.2006 в 01:47)
| | >Но мне еще надо чтоб это не ставил перед 5 столбиком
я подумал, что после пятого....
тогда замени:
if ($qs>1) echo "</td><td width=6.25%></td><td>";
|
на:
//ну а если все-таки перед пятым, то замени %5 на %4...
if (($qs>1) && ($qs%5 != 0)) echo "</td><td width=6.25%></td><td>";
|
и после этой строчки добавь:
if (($qs%5) == 0) echo "</td></tr><tr><td>";
|
... ну и раз ты завел другую переменную.. то закоментированые строчки можно удалить... | |
|
|
|
|
|
|
|
для: kasmanaft
(25.03.2006 в 08:33)
| | Хм.. получаеться все отлично :) Бооольшое спасибо. Щяс буду делать форму для дополнения, а потом самое сложное админку... :) Как только доделаю форму дополнения выложу сюда проверишь :)
ЗЫ Хотя нет не совсем все хорошо, нашел ошибку, в первой строчки 5-ый столбик не отображаеться, хотя во второй строчки, третьей.... и т.д. все 5 столбиков отображаються.
<?
include "config.php";
$query = "select * from users order by CharsNick ASC";
$thm = mysql_query($query);
while($themes = mysql_fetch_array($thm))
{
$CharsNick = trim($themes['CharsNick']);
$CharsWorld = trim($themes['CharsWorld']);
$worlds [$CharsWorld][] = "$CharsNick";
}
echo "<table width=100%><tr><td>";
foreach ($worlds as $world_name => $arr)
{
if (empty($qs)) $qs = 1;
$qs++;
echo "<td valign=top><table border=1 width=100%><tr><td>Мир $world_name</td></tr><tr><td>";
for ($q = 0; $q < count($worlds[$world_name]); $q++)
{
echo $worlds[$world_name][$q]."<br>";
}
echo "</td></tr></table></td>";
if (($qs>1) && ($qs%5 != 0)) echo "</td><td width=6.25%></td><td>";
if (($qs%5) == 0) echo "</td></tr><td height=20></td><tr><td>";
}
echo "</td></tr></table>";
?>
|
И еще надо сделать чтоб в каждом стобики имена сортировались по алфавиту. А то они все в перемешку лежат. | |
|
|
|
|
|
|
|
для: Бамси
(25.03.2006 в 16:14)
| | долго смотрел на етот скрипт и не мог понять, почему все же не отображается этот пятый столбик... а оказывается все просто :)
нужно чуть-чуть подправить IF
...
{
if (empty($qs)) $qs = 1;
else $qs++;
...
|
а чтобы отсортировать имена, нужно произвести сортировку массива... можно попробовать сделать вот так:
...
}
asort ($worlds, SORT_STRING);
echo "<table width=100%><tr><td>";
foreach ($worlds as $world_name => $arr)
{
...
|
| |
|
|
|
|
|
|
|
для: kasmanaft
(26.03.2006 в 17:58)
| | asort не помог, а после else теперь нет пробела после первого столбика, но зато появился пробел после последнего столбика... И это только в первой строчке...
А не асорт заработал, он просто сортирует только буквы, надо чтоб еще и цыфры сортировал по возрастанию.
Вообщем с сортировкой разобрался, зделал так
...
}
asort ($worlds, SORT_STRING);
asort ($worlds, SORT_NUMERIC);
echo "<table width=100%><tr><td>";
foreach ($worlds as $world_name => $arr)
{
...
|
А что делать с тем что не отображаеться 5 столбик я не знаю :( | |
|
|
|
|
|
|
|
для: Бамси
(26.03.2006 в 23:58)
| | а счас наверно ошибка здесь:
if (($qs>=1) && ($qs%5 != 0)) echo "</td><td width=6.25%></td><td>";
|
больше или равно... попробуй так сделай..
и насчет сортировки... наверно верни, как было... тот способ, что я преводил сортирует элементы как строки...
объясню :)
допустим у нас есть массив "25, 12, 121"
если отсортировать его как числа то мы получим 12, 25, 121
а если как строки то 12, 121, 25
но в твом случае, по-моему, лучше отсортировать именно как строки... иначе результат тебя потом может немного удевить :) | |
|
|
|
|
|
|
|
для: kasmanaft
(27.03.2006 в 07:46)
| | Вообщем все прекрастно работает, я бы с тобой бы пообщялся по ICQ нащет мелочей, если она имееться. | |
|
|
|
|
|
|
|
для: Бамси
(27.03.2006 в 17:54)
| | у меня имеется :)
можешь в профиле посмотреть... я давно уже хотел, а как глянул в твой профиль - не нашел и расхотел :) | |
|
|
|
|
|
|
|
для: kasmanaft
(28.03.2006 в 21:34)
| | оказывается у меня не тот номер был записан :)
исправил... | |
|
|
|