Отношение к другим людям формируется из отношения к Себе.
Добрый день, обращаюсь за советом.
Ситуация такая:

1 существует файл calen.php, в нем несколько однотипных строк, которые выводятся в таблице. меняется лишь значение $a
читать дальше

2 существует day.php, который выводит данные из БД
читать дальше

3 существует connect.php - с ним проблем нет.

Вопросы:
1 как привязать $a к базе данных.
Я хочу, чтобы эта переменная хранила имя таблицы, к которой нужно обратиться.
Таблица "1" - существует, но на строку
<? $result=mysql_query("Select * from $a",$db);?>


он не реагирует. а мне нужно, чтобы имя таблицы было динамичным и передавалось по клику со страницы calen.php

2 вывод таблицы немного кривой.

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

Заранее спасибо=)


@темы: MySQL, PHP

Комментарии
15.02.2008 в 18:53

Крайне злопамятное хамло ;)
1 как привязать $a к базе данных.
Я хочу, чтобы эта переменная хранила имя таблицы, к которой нужно обратиться.
Таблица "1" - существует, но на строку
<? $result=mysql_query("Select * from $a",$db);?>


Если я правильно понял, то перед этой строкой надо добавить:
$a=$_GET[a];
15.02.2008 в 18:57

Крайне злопамятное хамло ;)
или хотя бы сделать ячейки ровными, фиксация ширины не помогает.
вынесите тейблы за пределы do...while, вот так:

<?php
//подключение к базе
include ("connect.php");
$result=mysql_query("Select * from jan1",$db);
$myrow=mysql_fetch_array($result);
echo "<table align=\"center\" border=\"1\" width=\"900\">";
do
{
echo "<tr>".
"<td width=\"130\" valign=\"top\" align=\"left\">".$myrow['name']."</td>".
"<td width=\"150\" valign=\"top\" align=\"left\">".$myrow['lastname']."</td>".
"<td width=\"150\" valign=\"top\" align=\"left\">".$myrow['city']."</td>".
"<td width=\"70\" valign=\"top\" align=\"left\">".$myrow['sex']."</td>".
"<td width=\"100\" valign=\"top\" align=\"left\">".$myrow['year']."</td>".
"<td width=\"100\" valign=\"top\" align=\"left\">".$myrow['time']."</td>".
"<td width=\"200\" align=\"center\">".$myrow['about']."</td>".
"<td width=\"130\" align=\"center\">".$myrow['email']."</td>".
"</tr>";

} while ($myrow=mysql_fetch_array($result));
echo "</table>";
?>
15.02.2008 в 19:04

Всё будет Кока-Кола.
CrisTL такс... задача немного путанная...
начнём по порядку...
1. На строку не реагирует потомучто у тебя отключены REGISTER_GLOABLS, т.е. гетовские и д.р. переменные не дублируются.
Воспользуйся вариантом ~Co0L~, но не забудь установить защиту, такое обращение чревато!

2. Ровные ячейки: Попробуй заголовок таблицы вынести за цикл, т.е. <?php //Цикл ?>


В строки: попробуй создать массив, а затем производить из него выборку... по крайней мере можно так, но я не советую, ибо что получится если у тебя будет 50 человек?
15.02.2008 в 19:04

Всё будет Кока-Кола.
~Co0L~ ой, пока писал коммент появился. )
15.02.2008 в 19:58

Отношение к другим людям формируется из отношения к Себе.
~Co0L~
сделала, выдает ошибку:

Notice: Use of undefined constant a - assumed 'a' in z:\home\cal.ru\www\day.php on line 12
[Денвер: показать возможную причину ошибки]
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in z:\home\cal.ru\www\day.php on line 14

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in z:\home\cal.ru\www\day.php on line 29

в строке 12 -
<?$a=$_GET[a];?>


строка 14 -
<?$myrow=mysql_fetch_array($result);?>


(он часто на это шалуется...но ЧТО именно не так, не понятно)

строка 29 -
<?} while ($myrow=mysql_fetch_array($result));?>

15.02.2008 в 20:04

Отношение к другим людям формируется из отношения к Себе.
$_GET[a]
наверное, просто кавычки забыли, поэтому=))
$_GET['a'] - так не жалуется. с одной строкой разобралась.

15.02.2008 в 20:05

Отношение к другим людям формируется из отношения к Себе.
Волчонок Джей ибо что получится если у тебя будет 50 человек?
у меня тоже была эта идея, но людей будет много, поэтому массив отпал=(
15.02.2008 в 20:25

Отношение к другим людям формируется из отношения к Себе.
ура!!
кое-где подправила и всё пошло, спасибо огромное=))

теперь еще действо:
у меня есть скрытые поля - pass и email, которые можно связать с людьми по id

нужно создать ссылку - Написать - чтобы открывалась форма для отправки сообщения - форма у меня есть.

Единственно, как передать id?
чтобы сообщение отправилось Именно тому человеку, по ссылке к которому кликнули?
15.02.2008 в 20:38

Будем же учиться хорошо мыслить - вот основной принцип морали (с) Паскаль
CrisTL В самом простом случае, ссылка Написать должна иметь вид sendmail.php?to=X, где X - идентификатор пользователя (тот самый id). В самой форме добавляем невидимое поле id. Соответсвенно скрипт-обработчик получит среди прочих полей, id адресата. Далее вытаскиваем из базы email пользователя с переданным id и отправляем почту. Более конкретная реализация зависит от того какая у вас форма отправки.
16.02.2008 в 08:06

Отношение к другим людям формируется из отношения к Себе.
FVA
дело в том, что Id - уникален только в пределах одной таблицы, а всего таблиц будет около 10.
может само поле email обратить в ссылку? которая будет передавать значение эл.ящика на форму с отправкой сообщения
<?"<td width=\"130\" align=\"center\">".$myrow['email']."</td>".?>



конкретная реализация зависит от того какая у вас форма отправки.
у меня есть две формы: одна самодельная, простая, но рабочая=))
<?
$from 
$email;
$header ="
Content-Type: text/plain; charset=\"windows-1251\"
Content-Transfer-Encoding: 8bit; 
"
;
$mailbody "
Имя: $name
e-mail: $email
Сообщение: $sub
"
;
                 
$to $x;

if (@
mail($to,$sub,$mailbody,$header))
{echo
"<div align='center'> Спасибо, ваше сообщение 
было отправлено.  </div>"
;}else{echo"Ошибка почтового сервера";}
?>




другая - sendmail.php - думаю знакома вам.
пример:
team.furia.ru/mailsender/sendmail.php

16.02.2008 в 11:46

Будем же учиться хорошо мыслить - вот основной принцип морали (с) Паскаль
CrisTL Выводить непосредственно электронный адрес на страницу без желания его владельца неэтично - его шустро схомячат спам-боты. Я бы в таком случае предложил сделать простенькой обратимое шифрование перед выводом адреса, а в скрипте-обработчике его обратно дешифровать. Серьезное шифрование тут ни к чему - главное сбить ботов с понталыку. В этом случае можно воспользоваться не совсем для этого предназначенными функциями, типа base64_encode или gzcompress. Можно, конечно просто инвертировать сроку и заменить в ней @ - основной симвод по которому парсят email. Вобщем не суть как шифровать, главное чтобы роботы этих адресов не видели. =) ИМХО.
16.02.2008 в 15:38

Отношение к другим людям формируется из отношения к Себе.
FVA
защитить людей от спама - одна из моих главных задач=)
я хотела по id перекинуть, но опять же...я только начала изучать php и многое из желаемого наталкивается на стену неумения.

сейчас самая большая проблема, это как перекинуть Сами значения переменных, заменить символы я потом смогу сама.
16.02.2008 в 17:12

Будем же учиться хорошо мыслить - вот основной принцип морали (с) Паскаль
CrisTL А в чем суть проекта, а точнее данного его модуля, если не секрет? Почему для пользователей несколько тиаблиц? Может быть есть возможности иначе спроектировать базу данных?
17.02.2008 в 09:39

Отношение к другим людям формируется из отношения к Себе.
FVA
суть в том, чтобы разбить данные по числам.
то есть для каждого дня должна быть отдельная таблица, куда вносились бы данные для этого дня.
данных будет много, поэтому приходится так делить.

над возможностью переспроектировать подумаю=)
может, и стоит.
как бы только не запутать всё.
17.02.2008 в 10:38

Будем же учиться хорошо мыслить - вот основной принцип морали (с) Паскаль
CrisTL Неужели так так много данных, что не целесообразнее сделать одну таблице со столбцом day?
17.02.2008 в 12:33

логично разбить так базу если юзеров более 100 000 например..
17.02.2008 в 12:51

Отношение к другим людям формируется из отношения к Себе.
FVA
сейчас разве стоит вопрос о базе?

подскажите, как передавать сами значения переменных пусть даже по id
мне нужна сама техника, перестроить под другие параметры я смогу сама.

[php]
их будет много, со временем=))
17.02.2008 в 13:16

Будем же учиться хорошо мыслить - вот основной принцип морали (с) Паскаль
CrisTL В смысле как передавать значения переменных? Есть всего один способ - в http запросе - и несколько методов - GET, POST и PUT. В данном случае удобнее всего передавать через POST, поскольку пользователь будет заполнять форму. Поросто добавляем в форму новое поле, скорее всего невидимое. Присваиваем ему имя и значение переменной и все. В скриптие-обработчике это значение можно будет получить из массива $_POST. Например, если в форму добавить <input type="hidden" name="id" value="1">, то в обработчике значение id будет храниться в переменной $_POST['id']

Что касается базы - правильное проектирование базы данных очень важный этам разработки. Мало того, нерационально спроектированная база данных может привести к потери производительности и прочим неприятностям.

17.02.2008 в 15:02

Отношение к другим людям формируется из отношения к Себе.
FVA Присваиваем ему имя и значение переменной и все
вот в этом и загвоздка...у меня данные извлекаются из базы циклом
(см.выше цикл do while), поэтому присваивать значения id для того пользователя, по чьей ссылке кликнули - проблематично.
по крайней мере, я не могу пока это сделать.
нужно чтобы ссылка "Написать" содержала id юзера и передавала на форму с полями для сообщения.
потом по этому id извлекался эл.ящик и отправлялось на него письмо.

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

метод get c видом строки:a href='day.php?a=1
я знаю.
а как передать само значение а без указания его вручную?



17.02.2008 в 15:53

Будем же учиться хорошо мыслить - вот основной принцип морали (с) Паскаль
echo "<a href=\"mailto.php?id=".$myrow['id']."\">Написать</a>";
?
17.02.2008 в 17:09

Отношение к другим людям формируется из отношения к Себе.
FVA
точно...а я голову ломала, спасибо большое=))

дальше я уже справлюсь, остается только все элементы в единое собрать)
31.05.2009 в 19:12

Вопросик возник:
include "inc\config.php";
$login1 = $_POST['login'];
$password = $_POST['password'];
$dbconnect = mysql_connect ($host,$dbuser,$dbpassword);
mysql_select_db ($dbname,$dbconnect);
$result_l = mysql_query("SELECT login FROM user");
$result_p = mysql_query("SELECT password FROM user WHERE name='$login1'");
$myrow_l = mysql_fetch_array($result_l);
$myrow_p = mysql_fetch_array($result_p);
do {
if ($login1 != $myrow_l["login"]) {
echo "Логин не зарегистрирован.";
die();
} else
{
echo $myrow_p;
}
............... ..... - выводит Resource id #5 вместо значения с БД. в чем проблема?
17.06.2009 в 04:24

Sanctus Satanas
azgard
А почему бы не создать новую запись?
Проблема в том, что $myrow_p это после выполнения той операции становится ассоциативым массивом. Напишите там print_r($myrow_p); и всё поймёте.
12.08.2009 в 06:38

Ребята всем привет у меня возникла маленькая проблема
не получается разбить данные на 4 столбика
1 вариант это хтмл верстка
isranetclub.com/isra/index.php?ind=radio
2 это вывод на пхп
isranetclub.com/isra/index.php?ind=radio1
как сделать так что бы была на на первом варианте
это код
12.08.2009 в 06:44

<?php
if (!defined("IN_MKP")) {
die ("Sorry !! You cannot access this file directly.");
}
$mklib->load_lang("lang_radio.php");
$content = "";
$query = $DB->query( "SELECT picture, code, title, title1, title2, title3, position FROM mkp_radio WHERE type = '2' AND active = '1' ORDER BY `position`");
while( $row = $DB->fetch_row($query) ) {
$showlink = $mklib->checklinkperm($row['title']);
$showlink = $mklib->checklinkperm($row['title1']);
$showlink = $mklib->checklinkperm($row['title2']);
$showlink = $mklib->checklinkperm($row['title3']);
if($showlink) {continue;}
$row['picture'] = str_replace("","$mklib->images", $row['picture']);
$content .= "
images/m_sx.gif\" border=\"0\" class=\"tdmenblock\"> images/m_sf.gif')\" valign=\"middle\" nowrap=\"nowrap\">
{$row['title']}
images/m_dx.gif\" border=\"0\" class=\"tdmenblock\">



{$row['title']}

Кабель: {$row['title1']}MHz

Эфир: {$row['title2']}MHz

12.08.2009 в 06:45


10.11.2010 в 14:19

Простой пример Ajax для чайников, по нажатию на кнопку-картинку данные из html-страницы записываются в базу и сразу же выводятся на экран без перезагрузки страницы в виде таблицы. Маленький понятный код, в PHP используется метод $_POST, SQL запросы, функция createXMLHttp(), и немного стилей, все только нужное для понимания ajax, исчерпывающие комментарии в строках. Научитесь создавать динамические web-страницы без лишних громоздких библиотек своими руками. Работа со связкой PHP,MySQL,Apache, Javasсript становится легка и понятна каждому. Поняв суть данного примера вы в дальнейшем сможете создавать Ajax-страницы любой сложности. По этой программе можно научиться PHP MySQL и AJAX одновременно.

качать тут:
www.plati.ru/asp/pay.asp?idd=1040991
10.11.2010 в 14:21

Простой пример Ajax для чайников, по нажатию на кнопку-картинку данные из html-страницы записываются в базу и сразу же выводятся на экран без перезагрузки страницы в виде таблицы. Маленький понятный код, в PHP используется метод $_POST, SQL запросы, функция createXMLHttp(), и немного стилей, все только нужное для понимания ajax, исчерпывающие комментарии в строках. Научитесь создавать динамические web-страницы без лишних громоздких библиотек своими руками. Работа со связкой PHP,MySQL,Apache, Javasсript становится легка и понятна каждому. Поняв суть данного примера вы в дальнейшем сможете создавать Ajax-страницы любой сложности. По этой программе можно научиться PHP MySQL и AJAX одновременно.

качать тут:
www.plati.ru/asp/pay.asp?idd=1040991

Расширенная форма

Редактировать

Подписаться на новые комментарии
Получать уведомления о новых комментариях на E-mail