Jump to content
  • 0

Прошу помощи


3d_max_9
 Share

Question

Помогите не могу понять в чем ошибка!

Вот код

</P><P> <?php 
$result = mysql_query("SELECT * FROM main ORDER BY id DESC", $db);
$myrow=mysql_fetch_array($result);
{
printf("
%s (<a href='#'>подробней</a>)
<table width='400' border='1'>
<tr>
<td rowspan='4' width='100'><img src='%s' width='100' height='75'></td>
<td class='cena-g'>Вес</td>
<td>%s</td>
<td>%s</td>
</tr>
<tr>
<td class='cena-g'>Цена</td>
<td>%s</td>
<td>%s</td>
</tr>
<tr>
<td class='cena-g'>Доставка</td>
<td>Бесплатно</td>
<td>Бесплатно</td>
</tr>
<tr>
<td class='cena-g'>Скидка</td>
<td>%s</td>
<td>%s</td>
</tr>
</table>", $myrow["name"], $myrow["img"], $myrow["ves1"], $myrow["ves2"], $myrow["cena1"], $myrow["cena2"], $myrow["econom1"], $myrow["econom2"]);
}
while ($myrow=mysql_fetch_array($result))
?>
</P><P>

Вы водит только одну запись хотя в базе реально две!

Может я не вижу элементарное?

вот дамп БД на всякий случай

</P><P># phpMyAdmin SQL Dump
# version 2.5.6
# http://www.phpmyadmin.net
#
# Хост: localhost
# Время создания: Мар 21 2010 г., 19:03
# Версия сервера: 3.23.53
# Версия PHP: 4.3.6
#
# БД : `tabak`
#

# ——————————————————--

#
# Структура таблицы `main`
#

CREATE TABLE `main` (
`id` int(5) NOT NULL auto_increment,
`name` text NOT NULL,
`name_pro` text NOT NULL,
`description` text NOT NULL,
`ves1` text NOT NULL,
`ves2` text NOT NULL,
`econom1` text NOT NULL,
`econom2` text NOT NULL,
`cena1` text NOT NULL,
`cena2` text NOT NULL,
`cat` text NOT NULL,
`img` text NOT NULL,
`link` text NOT NULL,
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=15;

#
# Дамп данных таблицы `main`
#

INSERT INTO `main` VALUES (1, 'Афган Инценс / Afghan Incense 3 Рі', 'Курительный микс Афган Инценс', '<u style="color:#FFFFFF;">Afghan Incense</u> - на взгляд курительный микс представляет собой пластилиновую массу из сгустка растений. Экстракты трав, которые входят в состав Afghan (афган инсенс) традиционно использовались некоторыми народностями в качестве ароматической добавки к релаксации. Абсолютно новый подход к курительным смесям. Вкус очень ярко выражен, весьма позитивный и добрый, равнодушных не останется!\r\n', '1 грам', '5 грам', '0 грн', '100 грн', '150 грн', '500 грн', 'smoking', 'images/mix/afghan.jpg', 'купить Афган Инсенс');
INSERT INTO `main` VALUES (2, 'Кристалиус / Cristalius 1 г', 'Энергетический микс Кристалиус / Cristalius 1 г', '<p><u style="color:#FFFFFF;">Cristalius</u> - это новые европейские новинки - улучшенный аналог Charge+, одного пакета хватает до десяти раз применений. Лучшая в своем роде подзарядка</p>\r\n<p>Состав Cristalius 1G: Vitamin C, Magnesium, Creatine, Vitamin B6, Caffeine, Herbal Blends, Hoodia, Minerals, Sodium Sesquicarbonate.</p>\r\n', '1 грам', '5 грам', '0 грн', '150 грн', '250 грн', '750 грн', 'energi', 'images/mix/s61896773.jpg', 'Купить Кристалиус / Cristalius');

</P><P>

Буду признателен за помощь!

Link to comment
Share on other sites

22 answers to this question

Recommended Posts

  • 0
Помогите не могу понять в чем ошибка!

Действительно, где сама ошибка то?

что в ошибке пишет?

 $result = mysql_query("SELECT * FROM main ORDER BY id DESC", $db);
$myrow=mysql_fetch_array($result);
while ($myrow=mysql_fetch_array($result)){
print $myrow["name"];
....
print $myrow["econom2"];
}

зачем второй раз while ?

Edited by Walker
Link to comment
Share on other sites

  • 0
Действительно, где сама ошибка то?

что в ошибке пишет?

Дак ошибку то и не выдает не какую тупо выводит последнюю запись с базы вместо того что бы выводить все!

:)

А блин все засиделся за компом ))) надо идти пиво пить )))

Блин забыл написать do{

Edited by 3d_max_9
Link to comment
Share on other sites

  • 0

Оператор while пишется в структуре

while(условие) {
Действия пока соблюдается услове
}

а не

 {
Действия пока соблюдается услове
}
while(условие)

Из мною сказанного следует:

</P><P> <?php 
$result = mysql_query("SELECT * FROM main ORDER BY id DESC", $db);
while ($myrow=mysql_fetch_array($result))
{
printf("
%s (<a href='#'>подробней</a>)
<table width='400' border='1'>
<tr>
<td rowspan='4' width='100'><img src='%s' width='100' height='75'></td>
<td class='cena-g'>Вес</td>
<td>%s</td>
<td>%s</td>
</tr>
<tr>
<td class='cena-g'>Цена</td>
<td>%s</td>
<td>%s</td>
</tr>
<tr>
<td class='cena-g'>Доставка</td>
<td>Бесплатно</td>
<td>Бесплатно</td>
</tr>
<tr>
<td class='cena-g'>Скидка</td>
<td>%s</td>
<td>%s</td>
</tr>
</table>", $myrow["name"], $myrow["img"], $myrow["ves1"], $myrow["ves2"], $myrow["cena1"], $myrow["cena2"], $myrow["econom1"], $myrow["econom2"]);
}

?>
</P><P>

Edited by LunatiK
Link to comment
Share on other sites

  • 0
Оператор while пишется в структуре

while(условие) {
Действия пока соблюдается услове
}

а не

 {
Действия пока соблюдается услове
}
while(условие)

Из мною сказанного следует:

</P><P> <?php 
$result = mysql_query("SELECT * FROM main ORDER BY id DESC", $db);
while ($myrow=mysql_fetch_array($result))
{
printf("
%s (<a href='#'>подробней</a>)
<table width='400' border='1'>
<tr>
<td rowspan='4' width='100'><img src='%s' width='100' height='75'></td>
<td class='cena-g'>Вес</td>
<td>%s</td>
<td>%s</td>
</tr>
<tr>
<td class='cena-g'>Цена</td>
<td>%s</td>
<td>%s</td>
</tr>
<tr>
<td class='cena-g'>Доставка</td>
<td>Бесплатно</td>
<td>Бесплатно</td>
</tr>
<tr>
<td class='cena-g'>Скидка</td>
<td>%s</td>
<td>%s</td>
</tr>
</table>", $myrow["name"], $myrow["img"], $myrow["ves1"], $myrow["ves2"], $myrow["cena1"], $myrow["cena2"], $myrow["econom1"], $myrow["econom2"]);
}

?>
</P><P>

 А так что нельзя

<?php 
$result = mysql_query("SELECT * FROM main ORDER BY id DESC", $db);
$myrow=mysql_fetch_array($result);

do
{
printf("
%s (<a href='#'>подробней</a>)
<table width='400' border='1'>
<tr>
<td rowspan='4' width='100'><img src='%s' width='100' height='75'></td>
<td class='cena-g'>Вес</td>
<td>%s</td>
<td>%s</td>
</tr>
<tr>
<td class='cena-g'>Цена</td>
<td>%s</td>
<td>%s</td>
</tr>
<tr>
<td class='cena-g'>Доставка</td>
<td>Бесплатно</td>
<td>Бесплатно</td>
</tr>
<tr>
<td class='cena-g'>Скидка</td>
<td>%s</td>
<td>%s</td>
</tr>
</table>", $myrow["name"], $myrow["img"], $myrow["ves1"], $myrow["ves2"], $myrow["cena1"], $myrow["cena2"], $myrow["econom1"], $myrow["econom2"]);
}
while ($myrow=mysql_fetch_array($result))
?>

Я же пишу что забыл сделать приставку do  :)

Link to comment
Share on other sites

  • 0
Народ (новички), завязывайте слушать смотреть видео уроки от Евгения Попова, его способы уже давно устарели.

Мне этого пока хватает) пусть способ уже и устарел ! Я не занимаюсь профессиональным сайто-строением. И не кому не делаю сайты за деньги! Это мое хобби можно сказать. Ну а за новшествами пусть гоняется тот кто зарабатывает себе на кусок хлеба этим :)

Можно, но в вашем случае нельзя, из-за этого и скрипт не правильно работает

В чем неправильность работы скрипта? Что то я не как не пойму если мы пишим так то все нормально работает по моему:

</P><P><?</P><P>$result = mysql_query("SELECT * FROM main ORDER BY id DESC", $db);
$myrow=mysql_fetch_array($result);

do
{
</P><P>echo $myrow["name"]."
";</P><P>}</P><P>while ($myrow=mysql_fetch_array($result))</P><P>?></P><P>

Link to comment
Share on other sites

  • 0
Мне этого пока хватает) пусть способ уже и устарел ! Я не занимаюсь профессиональным сайто-строением. И не кому не делаю сайты за деньги! Это мое хобби можно сказать. Ну а за новшествами пусть гоняется тот кто зарабатывает себе на кусок хлеба этим :)

В чем неправильность работы скрипта? Что то я не как не пойму если мы пишим так то все нормально работает по моему:

</P><P><?</P><P>$result = mysql_query("SELECT * FROM main ORDER BY id DESC", $db);
$myrow=mysql_fetch_array($result);

do
{
</P><P>echo $myrow["name"]."
";</P><P>}</P><P>while ($myrow=mysql_fetch_array($result))</P><P>?></P><P>

Конструкцию while, как уже сказали выше, можно и нужно записывать сокращено так:

$result = mysql_query ("SELECT * FROM `table`");
while ($myrow = mysql_fetch_array($result))
{
echo "<p>".$myrow['name']."</p>";
}

Edited by rus
Link to comment
Share on other sites

  • 0
Конструкцию while, как уже сказали выше, можно и нужно записывать сокращено так:

кому нужно? Вам или Пети какомуто или еще комуто? Или у меня скрип перестанет работать от do While ? Я привык работать с do While , да может это все из за курсов поповава. Но не надо учить лбдей своей религии!

Без обид.!

Link to comment
Share on other sites

  • 0

Это не религия, это время и качество разработки, и что тоже не маловажно, скорость отладки вашего приложения. Пусть даже если вы пишите и для себя, на коленке.

Вам толковый совет дают, вы отказываетесь.

Link to comment
Share on other sites

  • 0
кому нужно? Вам или Пети какомуто или еще комуто? Или у меня скрип перестанет работать от do While ? Я привык работать с do While , да может это все из за курсов поповава. Но не надо учить лбдей своей религии!

Без обид.!

Вах, вах... какие обиды дарагой?

Делай как хочешь, мне до ... :)

Link to comment
Share on other sites

  • 0
Мне этого пока хватает) пусть способ уже и устарел ! Я не занимаюсь профессиональным сайто-строением. И не кому не делаю сайты за деньги! Это мое хобби можно сказать. Ну а за новшествами пусть гоняется тот кто зарабатывает себе на кусок хлеба этим :)

В чем неправильность работы скрипта? Что то я не как не пойму если мы пишим так то все нормально работает по моему:

</P><P><?</P><P>$result = mysql_query("SELECT * FROM main ORDER BY id DESC", $db);
$myrow=mysql_fetch_array($result);
do
{
</P><P>echo $myrow["name"]."
";</P><P>}</P><P>while ($myrow=mysql_fetch_array($result))</P><P>?></P><P>

Как минимум, приходится дублировать строку " $myrow=mysql_fetch_array($result) "

Как максисмум, наиговнейший турдукен-код.

По сути, задолбаетесь на чистом mysql funcs от PHP работать.

http://files.ermin.ru/turducken.jpg

Link to comment
Share on other sites

  • 0
Как минимум, приходится дублировать строку " $myrow=mysql_fetch_array($result) "

Как максисмум, наиговнейший турдукен-код.

По сути, задолбаетесь на чистом mysql funcs от PHP работать.

http://files.ermin.ru/turducken.jpg

[offtop]

Забавно, но даже при таком адресе не выдает ошибки: http://ermin.ru/asdasdas.sdfsdf :)

[/offtop]

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy