Различные вопросы по PHP и MySQL

241K
.
SlyDeath
Здравствуйте, столкнулся с проблемкой. Не могу понять, как реализовать цикл вывода в Джоне 4.х.х
Подробнее. Мне надо из созданной таблицы вытягивать массив, далее организовать его вывод либо echo либо printf, фиолетово. Но джон выдаёт ошибку в 15й строке (строка инклуда head.php). Подскажите в чём проблема?
$res = mysql_query ("SELECT id,title,description,author,date FROM tickets");

$row = mysql_fetch_array ($res); 

do {
        
printf ("<p><a href='view.php?id=%s'>%s</a></p>
		 <p>Дата добавления: %s</p>
		 <p>Автор: %s</p>
                 <p>Описание: %s</p>", $row["id"], $row["title"], $row["date"], $row["author"], $row["description"]); 
		  		  
}

while ($row = mysql_fetch_array ($res));

Это один из примеров, как я пытался это сделать. Если несложно, напишите полное обращение к определённой таблице на цикл while, я уже весь мозг сломал. Буду очень рад любой подсказке. =)
.
Atmas
для особо мерзких, мы особо дерзкие
SlyDeath,
$req = mysql_query ("SELECT `id`, `title`, `description`, `author`, `date` FROM `tickets`");
$i = 0;
if (mysql_num_rows($req))
    while ($res = mysql_fetch_array($req))
        echo ($i++ % 2 ? '<div class="list2">' : '<div class="list1">') .
            '<p><a href="view.php?id=' . $res['id'] . '">' . $res['title'] . '</a></p>' .
'<p>Дата добавления: ' . $res['date'] . '</p><p>Автор: ' . $res['author'] . '</p><p>Описание: ' . $res['description'] . '</p></div>';
else echo '<div class="rmenu">Пусто</div>';
.
SlyDeath
Atmas, на твой пост (04.07.2011 / 15:20) отвечу, Ого, как быстро! Большое спасибо!!! =)
Ответ как всегда, блин, был под носом. =Ъ
.
такой вопрос: что значит поле "индекс" при создание таблици БД? там есть 4 варианта
PRIMARY
UNIQUE
INDEX
FULLTEXT
всегда использовал PRIMARY, но интересно зачем другие
.
GaNN1baL
помогите с проверкой..
case 'del':
	$id=(int)$_GET['id'];
    $q=mysql_query("SELECT * FROM `cms_users_notes` WHERE `user_id` = '" . $user['id'] . "'");
	if ($q['user_id'] == $user['id']) {
		echo "Вы не можете удалять чужою заметку";
	} else {
	mysql_query("DELETE FROM cms_users_notes WHERE id = '".$id."'");
	} 
	break;

как мне проверить принадлежит ли удаляещему заметка ?
if ($q['user_id'] == $user['id']) { это не правильно по ходу
.
Atmas
для особо мерзких, мы особо дерзкие
GaNN1baL, на твой пост (07.07.2011 / 19:38) отвечу,
case 'del':
    $q = mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_users_notes` WHERE `user_id` = '" . $user['id'] . "'"), 0);
	if (!$q) {
		echo "Вы не можете удалять чужою заметку";
	} else {
	    mysql_query("DELETE FROM cms_users_notes WHERE id = '".$id."'");
	} 
	break;
как-то так, если я правильно понял
только вот мне кажется что $user['id'] у тебя нет такого. и будет логичнее использовать $user_id
.
Atmas, Warning: mysql_result() expects parameter 1 to be resource, boolean given in Q:\home\znak.ru\www\mod\notes.php on line 46
Вы не можете удалять чужою заметку

это когда свою, не свою заметку удаляю..
.
hooligan
GaNN1baL (07.07.2011/17:38)
помогите с проверкой..
case 'del':
$id=(int)$_GET['id'];
$q=mysql_query("SELECT * FROM `cms_users_notes` WHERE `user_id` = '" . $user['id'] . "'");
if ($q['user_id'] == $user['id']) {
ec
Если ты в id передаешь id записи которую надо удалить то так:
case 'del':
    $id= intval($_GET['id']);
    $q=mysql_query("SELECT * FROM `cms_users_notes` WHERE `id` = '" . $id . "'");
    if ($q['user_id'] != $user_id) {
        echo 'Вы не можете удалять чужою заметку';
    } else {
    mysql_query("DELETE FROM `cms_users_notes` WHERE `id` = '".$id."'");
    } 
    break;
.
для особо мерзких, мы особо дерзкие
hooligan (07.07.2011/20:00)
Если ты в id передаешь id записи которую надо удалить то так:
[php]case 'del':
$id= intval($_GET['id']);
$q=mysql_query("SELECT * FROM `cms_users_notes` WHERE `id` = '" . $id . "'");
i
код смотрел хоть?
.
Atmas (07.07.2011/20:02)
код смотрел хоть?
ничего не смотрел, написал побыстрому... Зачем делать select по user[id] который приведет к первой записи в таблице, a не к той которую надо удалять... Короче хз... А че не так разве написал?
Всего: 7969