|
|
|
| Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in
Чего это значит? | |
|
|
|
|
|
|
|
для: Lelik
(16.07.2006 в 00:15)
| | Скорее всего ошибка в SQL-запросе, сразу после выполенения функции mysql_error() выполняйте проверку на ошибки SQL-запроса
<?php
$res = mysql_query($query);
if(!$res) exit("Ошибка - ".mysql_error());
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(16.07.2006 в 00:25)
| | у меня такой код -
<?php
$query = "SELECT * FROM vacansy WHERE cat_id=".$_GET['id']." ORDER BY pos";
$result = mysql_query($query).mysql_error();
if($result)
{
while($cat = mysql_fetch_array($result))
{...
|
Но я брал название таблицы копировал и мышью вставлял в запрос. и поля аналогично | |
|
|
|
|
|
|
|
для: Lelik
(16.07.2006 в 00:27)
| | Хм... не уверен, что это удачный способ
<?php
$result = mysql_query($query).mysql_error();
?>
|
лучше проверьте дескрипто явно и выведите содержимое mysql_error() в окно браузера. | |
|
|
|
|
|
|
|
для: cheops
(16.07.2006 в 00:31)
| |
<?php
if(!$result) exit("Ошибка - ".mysql_error());
?>
|
дописал эту строку под запросом - сразу заработало. Спасибо, но все же вы не моглибы объянить почему такое случилось? Ну чтоб таких ошибок в дальнейшем не допускать | |
|
|
|
|
|
|
|
для: Lelik
(16.07.2006 в 00:35)
| |
Ошибка - You have an error in your SQL syntax near 'ORDER BY 'pos'' at line 2
|
А это чего значит ? | |
|
|
|
|
|
|
|
для: Lelik
(16.07.2006 в 01:23)
| | значит нет там такого поля как pos | |
|
|
|
|
|
|
|
для: RV
(16.07.2006 в 03:06)
| | Как так нет, а если оно есть?
CREATE TABLE 'vacansy' (
'id' int NOT NULL auto_increment,
'emp' enum('nomatter','full','notfull','free','home') NOT NULL default 'nomatter',
'speciality' text NOT NULL ,
'from_age' text NOT NULL,
'to_age' text NOT NULL,
'zarplata' text NOT NULL,
'comment' text not null,
'sex' enum('man','wom', 'non') NOT NULL default 'non',
'city' text NOT NULL,
'contact_name' text NOT NULL,
'contact_org' text NOT NULL,
'contact_email' text NOT NULL,
'phone' text NOT NULL ,
'active' enum('yes','no') NOT NULL default 'yes',
'date' DATETIME not null,
'pos' int not null,
'cat_id' int not null,
PRIMARY KEY ('id'),
KEY ('cat_id')
) TYPE=MyISAM;
|
вот таблица из БД | |
|
|
|
|
|
|
|
для: Lelik
(16.07.2006 в 01:23)
| | Это означает, что у вас ошибка перед конструкцией ORDER BY, скорее всего $_GET['id'] - принимает пустое значение. | |
|
|
|
|
|
|
|
для: cheops
(16.07.2006 в 09:48)
| | >скорее всего $_GET['id'] - принимает пустое значение.
А почему так? | |
|
|
|
|
|
|
|
для: Lelik
(16.07.2006 в 16:30)
| | Сложно сказать... кода на руках нет... Выведите его перед выполением запроса
<?php
echo "id - ".$_GET['id']."<br>";
?>
|
чтобы проверить так ли это. | |
|
|
|
|
|
|
|
для: cheops
(16.07.2006 в 16:33)
| | вот скрипт
<?php
include "config.php";
?>
<table border="1">
<tr>
<td colspan=17>
<a href="<?php echo 'vacaddform.php?id='.$_GET['id']; ?>">Добавить вакансию</a><br>
<a href="index.php">К управлению разделами</a><br>
<a href="mail.php">Управление рассылкой</a>
</td>
</tr>
<tr>
<td>Вакансия</td>
<td>Описание</td>
<td>Зарплата</td>
<td>Возраст</td>
<td>Пол</td>
<td>Город</td>
<td>Занятость</td>
<td>Имя работодателя</td>
<td>Орг работодателя</td>
<td>E-mail работодателя</td>
<td>Тел работодателя</td>
<td>Дата</td>
<td>Статус</td>
<td>Позиция</td>
<td colspan='3'>Действие</td>
</tr>
<?php
$query = "SELECT * FROM vacansy WHERE cat_id=".$_GET['id']."
ORDER BY 'pos'";
$result = @mysql_query($query);
if(!$result) exit("Ошибка - ".mysql_error());
if($result)
{
while($cat = @mysql_fetch_array($result))
{
if($cat['active'] == 'no')
{
$showhide = '<a href="vacactive.php?id='.$cat["id"].'&cat='.$cat["cat_id"].'">Сделать активной</a>';
$status = "Раздел неактивен";
}
else
{
$showhide = '<a href="vacdizactive.php?id='.$cat["id"].'&cat='.$cat["cat_id"].'">Сделать неактивной</a>';
$status = "Раздел активен";
}
if($cat['sex']=='man') $sex = 'Мужчина';
elseif($cat['sex'] == 'wom') $sex = 'Женщина';
elseif($cat['sex'] == 'non') $sex = 'Не имеет значения';
if($cat['emp']=='nomatter') $emp = 'Не имеет значения';
elseif($cat['sex'] == 'full') $emp = 'Полная';
elseif($cat['sex'] == 'notfull') $emp = 'Не полная';
elseif($cat['sex'] == 'free') $emp = 'Свободный график';
elseif($cat['sex'] == 'home') $sex = 'Работа на дому';
echo '<tr>';
echo '<td>'.$cat["speciality"].'</td>';
echo '<td>'.$cat["comment"].'</td>';
echo '<td>'.$cat["zarplata"].'</td>';
echo '<td>'.$cat["from_age"].' - '.$cat["to_age"].'</td>';
echo '<td>'.$sex.'</td>';
echo '<td>'.$cat["city"].'</td>';
echo '<td>'.$emp.'</td>';
echo '<td>'.$cat["contact_name"].'</td>';
echo '<td>'.$cat["contact_org"].'</td>';
echo '<td>'.$cat["contact_email"].'</td>';
echo '<td>'.$cat["phone"].'</td>';
echo '<td>'.$cat["date"].'</td>';
echo '<td>'.$status.'</td>';
echo '<td>'.$cat["pos"].'</td>';
echo '<td><a href="vaceditform.php?id='.$cat["id"].'&cat='.$cat["cat_id"].'">Редактировать</a></td>';
echo '<td>'.$showhide.'</td>';
echo '<td><a href="vacdelete.php?id='.$cat["id"].'&cat='.$cat["cat_id"].'">Удалить</a></td>';
echo '</tr>';
}
}
?>
</table>
|
после выполнения вот этих глючит
<?php
include "config.php";
$query = "SELECT * FROM vacansy WHERE cat_id=".$_GET['cat']." AND id=".$_GET['id'];
$result = @mysql_query($query);
if(!$result) exit("Ошибка - ".mysql_error());
if($result)
{
$pos = @mysql_fetch_array($result);
$numb = $pos['pos'];
}
else $numb = "0";
if($pos['active'] == 'yes') $active = 'checked';
else $active="";
?>
<form action="vacedit.php" method="post">
Вакансия : <input name="vac" type="text" value="<?= $pos['speciality']?>"> <br>
Описание : <textarea name="comment" rows=5 cols=20 ><?= $pos['comment']?></textarea><br>
Зарплата : <input name="zarp" type="text" value="<?= $pos['zarplata']?>"> <br>
Возраст от :<input name="min_age" type="text" value="<?= $pos['from_age']?>"> до <input name="max_age" type="text" value="<?= $pos['to_age']?>"><br>
Пол <select size="1" name="sex">
<option value="man">Мужской</option>
<option value="wom">Женский</option>
<option value="non">Не имеет значения</option>
</select><br>
Город : <input name="city" type="text" value="<?= $pos['city']?>"> <br>
Занятость <select size="1" name="emp">
<option value="nomatter">Не имеет значения</option>
<option value="full">Полная</option>
<option value="notfull">Не полная</option>
<option value="free">Свободный график</option>
<option value="home">Работа на дому</option>
</select><br>
Имя рботодателя : <input name="name" type="text" value="<?= $pos['contact_name']?>"> <br>
Орг работодателя : <input name="org" type="text" value="<?= $pos['contact_org']?>"> <br>
E-mail работодателя : <input name="email" type="text" value="<?= $pos['contact_email']?>"> <br>
Тел работодателя : <input name="phone" type="text" value="<?= $pos['phone']?>"> <br>
Позиция : <input name="pos" type="text" value="<?= $numb ?>"> <br>
<input name="active" type="checkbox" <?= $active ?>> Отображать<br>
<?php
if($pos['pos'] == "") $pos['pos'] = 0;
?>
<input name="max" type="hidden" value="<?= $pos['pos']?>">
<input name="cat" type="hidden" value="<?= $_GET['id']?>">
<input type="submit" value="Добавить">
</form>
|
и его обработчик
<?php
include "config.php";
$_POST['vac'] = trim(htmlspecialchars(stripslashes($_POST['vac'])));
$_POST['comment'] = trim(htmlspecialchars(stripslashes($_POST['comment'])));
$_POST['zarp'] = trim(htmlspecialchars(stripslashes($_POST['zarp'])));
$_POST['min_age'] = trim(htmlspecialchars(stripslashes($_POST['min_age'])));
$_POST['max_age'] = trim(htmlspecialchars(stripslashes($_POST['max_age'])));
$_POST['sex'] = trim(htmlspecialchars(stripslashes($_POST['sex'])));
$_POST['city'] = trim(htmlspecialchars(stripslashes($_POST['city'])));
$_POST['emp'] = trim(htmlspecialchars(stripslashes($_POST['emp'])));
$_POST['name'] = trim(htmlspecialchars(stripslashes($_POST['name'])));
$_POST['org'] = trim(htmlspecialchars(stripslashes($_POST['org'])));
$_POST['email'] = trim(htmlspecialchars(stripslashes($_POST['email'])));
$_POST['phone'] = trim(htmlspecialchars(stripslashes($_POST['phone'])));
$_POST['pos'] = trim(htmlspecialchars(stripslashes($_POST['pos'])));
$_POST['active'] = trim(htmlspecialchars(stripslashes($_POST['active'])));
$_POST['max'] = trim(htmlspecialchars(stripslashes($_POST['max'])));
$_POST['cat'] = trim(htmlspecialchars(stripslashes($_POST['cat'])));
if(empty($_POST['pos']))
{
$pos = 1;
}
else
$pos = $_POST['pos'];
if($_POST['active'] == "on") $showhide = 'yes';
else $showhide = 'no';
$query = "UPDATE vacancy SET emp = '".$_POST['emp']."',
speciality = '".$_POST['vac']."',
from_age = '".$_POST['min_age']."',
to_age = '".$_POST['max_age']."',
zarplata = '".$_POST['zarp']."',
comment = '".$_POST['comment']."',
sex = '".$_POST['sex']."',
city = '".$_POST['city']."',
contact_name = '".$_POST['name']."',
contact_org = '".$_POST['org']."',
contact_email = '".$_POST['email']."',
phone = '".$_POST['phone']."',
active = '".$showhide."',
pos = '".$_POST['pos']."',
WHERE cat_id='".$_POST['cat']."' AND id=".$_POST['id'];
$result = mysql_query($query);
$query = "SELECT * FROM vacanc WHERE pos=".$_POST['pos']." AND cat_id=".$_POST['cat'];
$result = @mysql_query($query);
if($result) $s = mysql_fetch_array($result);
if(@mysql_num_rows($result) > 1)
$result = @mysql_query("UPDATE category SET pos=pos+1 WHERE cat_id=".$_GET['cat']." AND id!=".$_POST['id']." AND pos>=".$s['pos']);
else
echo '<html><head><meta http-equiv="Refresh" content="0; url=vacancy.php?id='.$_GET['cat'].'"></head></html>';
if($result)
echo '<html><head><meta http-equiv="Refresh" content="0; url=vacancy.php?id='.$_GET['cat'].'"></head></html>';
else
echo 'error';
?>
|
| |
|
|
|