powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / сопоставляются в одну строку
23 сообщений из 23, страница 1 из 1
сопоставляются в одну строку
    #38516226
NOOBик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите пожалуйста. Облазил уже весь интернет , сломал мозг ... ничего не получается ((( Хочу сделать для детей график который они смогут просматривать через веб интерфейс , все таки 21 век на улице , все с планшетами и с мобильными , им будет интересно. К сути ... Циклом рисую шкалу от 1-9 , например , из базы данных загоняю в массив такую ​​инфу . Проблема в том , что нужно ту информацию сопоставить со шкалой , а именно , если на шкале отображается цифра 3 и в массиве есть такая цифра то они сопоставляются в одну строку. Извините за набор слов но мне проще нарисовать , вот рисунок. Спасибо за понимание
...
Рейтинг: 0 / 0
сопоставляются в одну строку
    #38516227
NOOBик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
сопоставляются в одну строку
    #38516295
NOOBик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
исходник:
<?php
////SQL/////
include "SQL/ConectMySQL_BD.php";
$SQL_grafik = "SELECT

exp_resid.exp_bron_doc.Z_time_G
... и т.д.

$SQL_Result_grafik = mysql_query ($SQL_grafik);
mysql_close();
////////////
$sdh = 8;
//---------------------------------------------------START-------------------------------------------------//
echo "<table border='1' cellspacing='0' align='center' rules='' width='100%'>";
for ($sdh; $sdh < $edh; $sdh ++){
echo "<tr><td>".$sdh."</td>";
while ($Result_grafik = mysql_fetch_assoc ($SQL_Result_grafik)){
//foreach ($Result_grafik as $NameGrafik => $TimeGrafik){
//echo "<tr><td>".$sdh."</td>";
if ($sdh == $Result_grafik['Z_time_G']){
echo "<td>".$Result_grafik['Z_time_G']."</td>";
}
}
}
Спосибо за помощь
...
Рейтинг: 0 / 0
сопоставляются в одну строку
    #38516421
artas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NOOBик,

возьмите один из кучи фреймворков, или используйте гугловую фичу для рисования графиков. Не надо изобретать велик

вот гугл например
...
Рейтинг: 0 / 0
сопоставляются в одну строку
    #38516473
NOOBик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
artas,

спасибо за ответ, но я не о графиках говорил, может вы не правильно меня поняли, или я не правильно вас понимаю ... Хочу составить график учащихся в школе, прошу вашей помощи, может я что-то пропустил. Я гуглив ничего такого не нашел (((
...
Рейтинг: 0 / 0
сопоставляются в одну строку
    #38516976
NOOBик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
никого нет никаких идей, хоть в каком направлении двигаться? (((
...
Рейтинг: 0 / 0
сопоставляются в одну строку
    #38517407
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NOOBикникого нет никаких идей, хоть в каком направлении двигаться? (((

Идеи то есть. Вы хотите чего-то простого, но выражаете это сложно. Уж не знаю, правильно ли понял. Итак, сначала как я понимаю сказанное, потом, как это решается.

как понимаю:
есть некоторое количество смен (групп учеников, чего угодно). Надо вывести учеников по группам в таблице

как решать:
таблица с полями id, group, surname (основные поля, может быть и 2 десятка других).
делаем выборку типа "SELECT * FROM myTable" где myTable - это таблица с данными
создаём пустой массив и начинаем получать построчно результат запроса, записывая в массив таким образом (например):
Код: php
1.
$myArray[$res['group']][]=$res['surname']


После проделанной работы получим массив массивов, по типу:
Код: php
1.
2.
3.
4.
5.
6.
array(
 1=>array('Иванов', 'Петров', 'Васечкин'),
 3=>array('Сидоров', 'Федоркин'),
 4=>...,
 ...
)



Ну а уж как это вывести - это уже на Ваше усмотрение.

P.S. Если задание понял неверно, прошу уточнить исходя из сказанного мной.
...
Рейтинг: 0 / 0
сопоставляются в одну строку
    #38517436
NOOBик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Програмёр,

Спасибо за ответ. Но вы не совсем так поняли и это моя вина, буду исправляться. Допустим есть цикл, который "рисует" шкалу от 1 до 18, и есть список учеников в базе данных к которым прикреплен уникальный код, например, Иванов и за ним закреплен код 3, Петров за ним 7. Когда "рисуется" в PHP шкала, а именно сначала идет цифра 1 сверяем с базой, в базе такого кода нет закреплено за учеником, тогда поле остается пустым, идем дальше 2 - такого кода не за учениками = поле пустое и так цифра 3, такой код в базе тогда выводим Иванова

1 | |
2 | |
3 | Иванов |
4 | |
5 | |
6 | |
7 | Петров |
и т.д.
Спасибо за внимание.
...
Рейтинг: 0 / 0
сопоставляются в одну строку
    #38517508
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NOOBик,

есть таблица id, surname (то есть уникальный идентификатор ученика и его фамилия)...
тогда запрос "SELECT * FROM myTable WHERE id BETWEEN min AND max ORDER BY id", где min - минимальный идентификатор в графике (в указанном примере это 1), а max - максимальный (в примере это 18).

на выходе получим список учеников попадающих в данный интервал отсортированных по id в порядке возрастания. А далее
Код: php
1.
2.
3.
4.
5.
6.
$row=array('id'=>min-1);
for($row_num=min; $row_num<=max; $row_num++){
  if($row && $row['id']<$row_num)
    $row=mysql_fetch_assoc($SQL_Result_grafik);
  echo "<tr><td>{$row_num}</td><td>".($row!=false ? $row['surname'] : "")."</td></tr>";
}
...
Рейтинг: 0 / 0
сопоставляются в одну строку
    #38530480
NOOBик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Програмёр,

а почему вы используете мин и мах а если мы не знаэм какоэ число будет стоять в идентификаторе. Вы поставили мин = 1 ето я так понял или я не так понял просто?
...
Рейтинг: 0 / 0
сопоставляются в одну строку
    #38530515
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NOOBикПрограмёр,

а почему вы используете мин и мах а если мы не знаэм какоэ число будет стоять в идентификаторе. Вы поставили мин = 1 ето я так понял или я не так понял просто?

Простите, вообще ничего не понял из сказанного.
...
Рейтинг: 0 / 0
сопоставляются в одну строку
    #38531094
Syrbek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
NOOBикПрограмёр,

Спасибо за ответ. Но вы не совсем так поняли и это моя вина, буду исправляться. Допустим есть цикл, который "рисует" шкалу от 1 до 18, и есть список учеников в базе данных к которым прикреплен уникальный код, например, Иванов и за ним закреплен код 3, Петров за ним 7. Когда "рисуется" в PHP шкала, а именно сначала идет цифра 1 сверяем с базой, в базе такого кода нет закреплено за учеником, тогда поле остается пустым, идем дальше 2 - такого кода не за учениками = поле пустое и так цифра 3, такой код в базе тогда выводим Иванова

1 | |
2 | |
3 | Иванов |
4 | |
5 | |
6 | |
7 | Петров |
и т.д.
Спасибо за внимание.

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
<?php
////SQL/////
include "SQL/ConectMySQL_BD.php";
////////////

//---------------------------------------------------START-------------------------------------------------//
echo "<table border='1' cellspacing='0' align='center' rules='' width='100%'>";
for ($i=1; $i < $18; $i ++)
{
	echo "<tr><td>".$i."</td>";
	
	$result = mysql_query("SELECT * FROM <Список учеников> WHERE id=".$i);
	$row = mysql_fetch_assoc($result);
	if ($row['id']>0)
	{	
		echo "<td>Нет данных</td>";	
	}
	else
	{
		echo "<td>".$row['Name']."</td>";	
	}
       echo "</tr>";
}
echo "</table>";
mysql_close();
?>
...
Рейтинг: 0 / 0
сопоставляются в одну строку
    #38531099
Syrbek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SyrbekNOOBикПрограмёр,

Спасибо за ответ. Но вы не совсем так поняли и это моя вина, буду исправляться. Допустим есть цикл, который "рисует" шкалу от 1 до 18, и есть список учеников в базе данных к которым прикреплен уникальный код, например, Иванов и за ним закреплен код 3, Петров за ним 7. Когда "рисуется" в PHP шкала, а именно сначала идет цифра 1 сверяем с базой, в базе такого кода нет закреплено за учеником, тогда поле остается пустым, идем дальше 2 - такого кода не за учениками = поле пустое и так цифра 3, такой код в базе тогда выводим Иванова

1 | |
2 | |
3 | Иванов |
4 | |
5 | |
6 | |
7 | Петров |
и т.д.
Спасибо за внимание.

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
<?php
////SQL/////
include "SQL/ConectMySQL_BD.php";
////////////

//---------------------------------------------------START-------------------------------------------------//
echo "<table border='1' cellspacing='0' align='center' rules='' width='100%'>";
for ($i=1; $i <= $18; $i ++)
{
	echo "<tr><td>".$i."</td>";
	
	$result = mysql_query("SELECT * FROM <Список учеников> WHERE id=".$i);
	$row = mysql_fetch_assoc($result);
	if ($row['id']>0)
	{	
		echo "<td>Нет данных</td>";	
	}
	else
	{
		echo "<td>".$row['Name']."</td>";	
	}
       echo "</tr>";
}
echo "</table>";
mysql_close();
?>


Пропустил ошибку в
Код: php
1.
for ($i=1; $i <= $18; $i ++)

так правильнее
...
Рейтинг: 0 / 0
сопоставляются в одну строку
    #38531100
Syrbek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SyrbekSyrbekпропущено...


Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
<?php
////SQL/////
include "SQL/ConectMySQL_BD.php";
////////////

//---------------------------------------------------START-------------------------------------------------//
echo "<table border='1' cellspacing='0' align='center' rules='' width='100%'>";
for ($i=1; $i <= $18; $i ++)
{
	echo "<tr><td>".$i."</td>";
	
	$result = mysql_query("SELECT * FROM <Список учеников> WHERE id=".$i);
	$row = mysql_fetch_assoc($result);
	if ($row['id']>0)
	{	
		echo "<td>Нет данных</td>";	
	}
	else
	{
		echo "<td>".$row['Name']."</td>";	
	}
       echo "</tr>";
}
echo "</table>";
mysql_close();
?>


Пропустил ошибку в
Код: php
1.
for ($i=1; $i <= $18; $i ++)

так правильнее
сорри но тут тоже надо наоборот
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
if ($row['id']>0)
	{	
		echo "<td>".$row['Name']."</td>";	
	}
	else
	{
			echo "<td>Нет данных</td>";
	}
...
Рейтинг: 0 / 0
сопоставляются в одну строку
    #38542256
NOOBик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Syrbek,

ОГРОМНОЕ СПАСИБО ЗА ОТВЕТ, БУДУ ПРОБОВАТЬ
...
Рейтинг: 0 / 0
сопоставляются в одну строку
    #38542784
deblogger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NOOBикДопустим есть цикл, который "рисует" шкалу от 1 до 18, и есть список учеников в базе данных к которым прикреплен уникальный код, например, Иванов и за ним закреплен код 3, Петров за ним 7. Когда "рисуется" в PHP шкала, а именно сначала идет цифра 1 сверяем с базой, в базе такого кода нет закреплено за учеником, тогда поле остается пустым, идем дальше 2 - такого кода не за учениками = поле пустое и так цифра 3, такой код в базе тогда выводим Иванова


Допустим я сомневаюсь что на вашем дворе 21 век. Начало 18 может быть.

Так не делают как вы придумали. Делается в стопицот раз проще. Из БД получаете данные в которых естественным образом в результате условий запроса могут быть NULL значения. То есть неизвестные. Будучи наложенными на равномерный, то есть непрерывный цикл отображения (представления данных) в вашем "графике" они сами собой отразят прерывность (фрагментарность) самих себя.
...
Рейтинг: 0 / 0
сопоставляются в одну строку
    #38542795
deblogger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Запрос по условиям у нуба примерно такой:

select * from pupils;

при условии что упомянутый код не авто_инкремент, а нечто вручную определяемое для пупилов, и этот код есть не у всех пупилов, то в "графике", то бишь в таблице развернутой последовательно строка за строкой результата - его и не будет.

Если тот магический код - авто_инкремент и внезапно в 21 веке кто-то решил что в БД есть порядковые номера строк и догадался юзать этот авто_инкремент как некий показатель, то придется заюзать метод рендера порядкового номера строки в условиях сортировки по авто_инкременту. Тут где-то есть такой запрос
...
Рейтинг: 0 / 0
сопоставляются в одну строку
    #38542802
deblogger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или процедурно отразить неизвестное канонично:

$pupils = array(1=>'Иванов', 4=>'Петров', 7=>'Сидоров'); // типа это мы получили из бд

Код: php
1.
2.
3.
4.
5.
for($i = 1; $i < 10; $i++)
  if(isset($pupils[$i]))
    echo $pupils[$i]
  else
   echo '<br/><br/>'



Иванов



Петров


Сидоров
...
Рейтинг: 0 / 0
сопоставляются в одну строку
    #38543991
NOOBик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
deblogger,

извените, но я ничего не понял(((
...
Рейтинг: 0 / 0
сопоставляются в одну строку
    #38543992
NOOBик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Syrbek,

большое спасибо, все работает)
...
Рейтинг: 0 / 0
сопоставляются в одну строку
    #38548111
SharuPoNemnogu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Syrbek, NOOBик

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

Или если вам известны номера учеников сделайте where id IN (1, 3, 8, .. n).
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
сопоставляются в одну строку
    #39050197
NOOBик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SharuPoNemnogu,

да, да да. так будет правельней всего, но как ето реализовать?))
...
Рейтинг: 0 / 0
сопоставляются в одну строку
    #39050650
SharuPoNemnogu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NOOBик,

Полтора года Карл, полтора года!!!
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / сопоставляются в одну строку
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]