Ru-Board.club
← Вернуться в раздел «Web-программирование»

» MySql/PHP: общие вопросы

Автор: IntenT
Дата сообщения: 19.01.2004 10:25
SafeWay

Цитата:
IntenT а если исправить?

Судя по всему исправлять придется половину чата.
Опыт говорит, что на помойку все-таки правильнее
Автор: SafeWay
Дата сообщения: 19.01.2004 19:13
IntenT да, я поставил па Перле вообще) и надежнее, и быстрее)

Ещё вопрос: но уже по кукисам:
у меня есть input name=login и мне надо что бы он если 1 раз написал запоминало!
Автор: SafeWay
Дата сообщения: 20.01.2004 16:41
ап (
Автор: SafeWay
Дата сообщения: 21.01.2004 17:33
Fatal error: [] operator not supported for strings in /ee/edu/kesklinna/www/html/fotos.php on line 73


73 - list($name[],$comment[])= explode("::","$string");

Не понимаю, в чём дело, всё работало отлично, и вдруг... и усё..
Автор: xntx
Дата сообщения: 21.01.2004 18:13
SafeWay
у тебя перед этим стоит $name = array(); $comment = array(); ?
Автор: SafeWay
Дата сообщения: 21.01.2004 19:11
$data_file = "data/photo.dat";

if (file_exists($data_file)):
$data_array = file($data_file);
else:
$error[] = "Файл $data_file не существует";
endif;

$cnt = count($data_array)-1;

if(!isset($photo)) $photo=0;

if (isset($data_array)):
foreach($data_array as $i=>$string)
{
list($name[],$comment[])= explode("::","$string"); $j=$i+1;
if ($photo < $i && $photo >= ($i-5)):
echo "<a href=\"fotos.php?photo=$i\" title=\"$comment[$i]\">$j</a> ";
if ($photo == ($i-5)): echo "<a href=\"fotos.php?photo=$cnt\" title=\" в конец \">>></a> "; endif;
elseif ($photo == $i):
echo "<b>$j</b> ";
elseif ($photo > $i && $photo <= ($i+5)):
if ($photo == ($i+5)): echo "<a href=\"fotos.php?photo=0\" title=\" в начало \"><<</a> "; endif;
echo "<a href=\"fotos.php?photo=$i\" title=\"$comment[$i]\">$j</a> ";
endif;
}
endif;
Автор: SafeWay
Дата сообщения: 22.01.2004 19:36
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /usr/www/econom1/faq/WWW/games.youname.ru/rpg/battle.php on line 186

А вот и строка
$mywep = mysql_fetch_array(mysql_query("select * from equipment where owner=$stat[id] and type=W and status=E"));
Автор: Cheery
Дата сообщения: 22.01.2004 20:06
SafeWay

Цитата:
$mywep = mysql_fetch_array(mysql_query("select * from equipment where owner=$stat[id] and type=W and status=E"));

всегда (!) делаем так на стадии отладки..
$query = "select * from equipment where owner='$stat[id]' and type='W' and status='E'";
$result = mysql_query($query) or die("Invalid query: " . mysql_error());
$mywep = mysql_fetch_array($result);
и смотрим, что за ошибка.
Автор: SafeWay
Дата сообщения: 22.01.2004 20:43
Invalid query: You have an error in your SQL syntax near 'order by cost asc' at line

mysql_query("select * from players where rank='Member' and hp>0 limit 50 order by cost asc")

Хм
Автор: Cheery
Дата сообщения: 22.01.2004 20:47
SafeWay

Цитата:
Invalid query: You have an error in your SQL syntax near 'order by cost asc' at line

лимит пишется в конце! и asc по умолчанию

Цитата:
select * from players where rank='Member' and hp>0 order by cost limit 50

Автор: SafeWay
Дата сообщения: 23.01.2004 16:38
Invalid query:
И всё... когда я убрал or die("Invalid query: " . mysql_error()); всё заработало... так может и не надо всё таки ставить?)))


ЗЫ: А может просто сервак съел...)) Хотя там он что то показывал
Автор: 6epcepk
Дата сообщения: 31.08.2005 16:46
Привет,
Делаю фотогалерею, но возник вопрос: как подсчитать количество картинок в категории, которая содержит неограниченное количество подкатегорий.
Сначала делал всего два уровня вложенности, а потом что-то потянуло и сделал неограниченную вложенность, но вот теперь подсчет ведется неправильно.
Может у кого есть уже готовые решения?
Автор: TBFG
Дата сообщения: 31.08.2005 16:58
Как строится зависимость? LIKE не прокатит?
Автор: 6epcepk
Дата сообщения: 31.08.2005 17:38
Да, забыл самое главно сказать:
у таблиц с категориями такая структура:
id - parent_id - name
Автор: SiMM
Дата сообщения: 31.08.2005 18:09
Где-то на форуме уже обсуждался вопрос деревьев. Подходов может быть несколько: изменение структуры таблицы; рекурсивный подсчёт; хранение количества фотографий в категории в дополнительном поле.
http://phpclub.ru/faq/Tree
Автор: 6epcepk
Дата сообщения: 17.09.2005 19:22
Привет.

Закачиваю файл. Получаю его temp_название:

$tmp = $_FILES['file']['tmp_name'];

Потом проверяю если файл закачался, то выполняю действия:

if (@file_exists($tmp)) { ...}

Но получается какой-то бред: если я даже не выбрал файл из формы, то все равно попадаю в тело оператора проверки ... что за ... ?

Исходник (небольшой)

Спасибо.
Автор: Shumiloff
Дата сообщения: 17.09.2005 19:42
6epcepk
почему вместо $file передаешь $doAdd?
Автор: 6epcepk
Дата сообщения: 17.09.2005 20:46
Shumiloff

Не понял тебя ...

У меня отправляет форму кнопка с именем doAdd, отслеживая нажатия которой, я произвожу дальнейшую обработку информации.
Автор: Shumiloff
Дата сообщения: 17.09.2005 21:02
6epcepk
При отправке данных из формы ты устанавливаешь переменную $doAdd, условие выполняется и запускается проверка. А так как ты поставил заглушку на file_exists($tmp), то не слышишь, что переменная $file не установлена. Если тебе нужно в случае отсутствия картинки снова вывести форму, то проверяй установлена ли $file, т.к. она отвечает за передачу файла, а не doAdd.
Автор: 6epcepk
Дата сообщения: 17.09.2005 21:31
Ага, понял намек:

if (!empty($file)) {...}

Спасибо!
Автор: Shaun
Дата сообщения: 17.09.2005 22:02
Де ошибка.Помагите разобраться, не получаеться сделать апдэйт.ПлзЗ! Помагите!!!
файл 1 считывае инфу с БД файл 2 изменяет инфу в бд при нажатии Сохронить!!

----file 1
<html>
<head>
<title>Список Фильмов</title>
</head>
<body bgcolor=#e9e9e9>
<?php
$film = $HTTP_POST_VARS['film'];
$akter = $HTTP_POST_VARS['akter'];
$ganr = $HTTP_POST_VARS['ganr'];
$size = $HTTP_POST_VARS['size'];
$id = $HTTP_POST_VARS['id'];

$link = mysql_connect("localhost", "film", "film") or
die("Внимание! Ошибка: Не удалось подключится к базе данных" . mysql_error());

mysql_select_db("film");

print "<form method=post action=update.php> \n";
echo "<center><h1>СПИСОК ФИЛЬМОВ</h1></center>";
print "<center> \n";
print "\n";
print "<table width=\"645\" border=\"0\" cellpadding=\"2\" cellspacing=\"5\" bordercolor=\"#000000\" bgcolor=\"c9c9c9\">\n";
print " <tr align=\"center\">\n";
print " <td width=\"39\">ID</td>\n";
print " <td width=\"233\">Название Фильма</td>\n";
print " <td width=\"143\">Актер</td>\n";
print " <td width=\"100\">Жанр</td>\n";
print " <td width=\"96\">Обьем в MB</td>\n";
print " </tr>\n";
print "</table>\n";
print "</center>\n";



$result = mysql_query("SELECT name_films, akter, ganr, size, id FROM bd_films");



while ($row = mysql_fetch_array($result, MYSQL_NUM)) {

print "<center> \n";
print "<table width=\"645\" border=\"0\" cellpadding=\"2\" cellspacing=\"1\">\n";
print " <tr align=\"center\">\n";
print " <td width=\"39\"><input type=\"text\" name=\"id\" value=\"$row[4]\" size=\"3\"></td>\n";
print " <td width=\"233\"><input type=\"text\" name=\"film\" value=\"$row[0]\" size=\"30\"></td>\n";
print " <td width=\"143\"><input type=\"text\" name=\"akter\" value=\"$row[1]\" size=\"20\"></td>\n";
print " <td width=\"100\"><input type=\"text\" name=\"ganr\" value=\"$row[2]\" size=\"10\"></td>\n";
print " <td width=\"96\"><input type=\"text\" name=\"size\" value=\"$row[3]\" size=\"10\"></td>\n";
print " </tr>\n";
print "</table>\n";
print "</center>\n";
}
print "<center> \n";
print '<td width=\"100\"><input type="submit" value="Save" size="20"/></td></form><br/>';

mysql_free_result($result);
?>
<a href=.\index.php>Go BacK</a>
</body>

</html>
-------
----file 2
<?php
$film = $HTTP_POST_VARS['film'];
$akter = $HTTP_POST_VARS['akter'];
$ganr = $HTTP_POST_VARS['ganr'];
$size = $HTTP_POST_VARS['size'];
$id = $HTTP_POST_VARS['id'];

$link = mysql_connect("localhost", "film", "film") or
die("Внимание! Ошибка: Не удалось подключится к базе данных" . mysql_error());

mysql_select_db("film");

$query = "update bd_films set name_films='$name_film', akter='$akter', ganr='$ganr, size='$size', id='$id'";
$resulf = mysql_query($query);
if ($resulf)
printf ("Фильм изменен ", mysql_insert_id());

mysql_close($link);
?>
-------------
Автор: Shumiloff
Дата сообщения: 17.09.2005 22:26
Shaun
Цитата:
$query = "update bd_films set name_films='$name_film', akter='$akter', ganr='$ganr, size='$size', id='$id'";
не закавычил $ganr

Цитата:
$query = "update bd_films set name_films='$name_film', akter='$akter', ganr='$ganr, size='$size', id='$id'";
откуда переменная $name_film? Должна быть $film.
Автор: Shaun
Дата сообщения: 19.09.2005 10:24
Да где то еще не правильно написал ! Где токо? что то я не правильно по форме наверное передаю? И в запросе на апдэйт)))! не все написал ))! Памагите еше! плзЗ...
Автор: SiMM
Дата сообщения: 19.09.2005 11:07
PHP FAQ: Ничего не работает! Что делать???
Автор: TTwice
Дата сообщения: 22.09.2005 23:58
Помогите плз... Оптимизирую скрипт один и что-то дойти никак не могу как это сделать:

есть таблица menu
id | pid | link | name (т.е ИД | Родитель | Ссылка | Имя)
нужно чтобы одним запросом sql выводились все записи в таблице в виде
ИД | Имя_Родителя | Имя | Ссылка

Заранее спасибо!

Автор: Cheery
Дата сообщения: 23.09.2005 00:00
TTwice

Цитата:
нужно чтобы одним запросом sql выводились все записи в таблице в виде

какая разница, в каком порядке спрашивать? при выводе можешь еще играться как тебе хочется
select id, имя_родителя, имя, ссылка from table
Автор: TTwice
Дата сообщения: 23.09.2005 00:08
Cheery

Цитата:
какая разница, в каком порядке спрашивать?

пример:
1 | 0 | link1 | Пункт1
2 | 1 | link2 | Пункт2
Нужен вывод:
1 | 0 | link1 | Пункт1
2 | Пункт1 | link2 | Пункт2

т.е. числовое обозначение родителя меняется на имя родителя...
Автор: Cheery
Дата сообщения: 23.09.2005 00:12
TTwice

Цитата:
т.е. числовое обозначение родителя меняется на имя родителя...

для этого создаются две таблицы и читается мануал
table1 дети
id | pid | link | name

table2 родители
id | ИД_ребенка | Ссылка | Имя

и ид_ребенка пишется id детей, принадлежащих данному родителю

потом select table1.id, table1.name, table2.Имя from table1, table2 where table1.id=table2.ид_ребенка

либо подробно формулируй вопрос.
Автор: TTwice
Дата сообщения: 23.09.2005 00:19
сейчас в скрипте сначало происходит выборка в виде SELECT name, id, link, pid FROM menu и потом в цикле при выведении результата делается выборка на соответствие select name from menu where id=pid... что имхо не есть гуд...
Автор: Cheery
Дата сообщения: 23.09.2005 00:21
TTwice

Цитата:
сейчас в скрипте сначало происходит выборка в виде SELECT name, id, link, pid FROM menu и потом в цикле при выведении результата делается выборка на соответствие select name from menu where id=pid... что имхо не есть гуд...

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

Страницы: 12345678910111213

Предыдущая тема: PHP: лимит времени на выполнение скрипта


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.