|
|
|
|
|
для: Diablo_
(24.09.2006 в 22:45)
| | потому что в SQL-операторе (1)синтаксические и (2)семантические ошибки.
(1) условие отбора по дате должно стоять после WHERE
(2) ошибка записи дат, подроно разобрана в
http://softtime.ru/forum/read.php?id_forum=3&id_theme=24883 | |
|
|
|
|
|
|
|
для: Trianon
(24.09.2006 в 22:03)
| | Объясни пожалуйста, тогда почему вот такой вариант не хочет выводить картинку?
$my->sql_query="SELECT gp.ID, gp.description, gp.gen_name, gs.Section
FROM gallery_picture as gp JOIN gallery_section as gs ON gs.id = gp.id_section (gp.datas<'20.09.2006')
ORDER BY gp.datas DESC LIMIT 1";
$my->sql_execute();
if (!$my->sql_err && mysql_num_rows($my->sql_res))
{
list($id, $descr, $gen, $sect) = mysql_fetch_row($my->sql_res);
$descr = htmlspecialchars($descr);
echo "<a href=\"index.php?cmd=gallery&big=$id\" title=\"$descr\"><img src=\"gallery/work/$sect/small_$gen\" border=0></a><br>";
}
|
| |
|
|
|
|
|
|
|
для: Diablo_
(24.09.2006 в 21:52)
| | gallery_picture as gp
gallery_section as gs
- это назначение псевдонимов (вторых имен для таблиц)
Можно было бы и без них, то есть писать
SELECT gallery_picture.ID, gallery_picture.Section, gallery_section.Section FROM....
| но так код короче.
ON - часть синтаксиса соединения таблиц. Общий вид внутреннего соединения:
таб1 JOIN таб2 ON таб1.ст1=таб2.ст2
|
| |
|
|
|
|
|
|
|
для: Trianon
(24.09.2006 в 21:41)
| | Спасибо!
А нимогли бы вы, пояснить вот эту строку?
SELECT gp.ID, gp.description, gp.gen_name, gs.Section FROM gallery_picture as gp JOIN gallery_section as gs ON gs.id = gp.id_section ORDER BY rand() LIMIT 1
|
особенно gp, ON, gs | |
|
|
|
|
|
|
|
для: Diablo_
(24.09.2006 в 20:07)
| | $ перед list уберите. Это я переусердствовал. | |
|
|
|
|
|
|
|
для: Trianon
(24.09.2006 в 17:15)
| | ошибку выдаёт вот в этой строке
$list($id, $descr, $gen, $sect) = mysql_fetch_row($my->sql_res);
|
| |
|
|
|
|
|
|
|
для: Diablo_
(24.09.2006 в 16:26)
| |
$my->sql_query="SELECT gp.ID, gp.description, gp.gen_name, gs.Section
FROM gallery_picture as gp JOIN gallery_section as gs ON gs.id = gp.id_section
ORDER BY rand() LIMIT 1";
$my->sql_execute();
if (!$my->sql_err && mysql_num_rows($my->sql_res))
{
$list($id, $descr, $gen, $sect) = mysql_fetch_row($my->sql_res);
$descr = htmlspecialchars($descr);
echo "<a href=\"index.php?cmd=gallery&big=$id\" title=\"$descr\"><img
src=\"gallery/work/$sect/small_$gen\" border=0></a><br>";
}
|
| |
|
|
|
|
|
|
| 1 Вариант
<?
//------------------------------
$my->sql_query="SELECT * FROM gallery_picture order by rand() LIMIT 1";
$my->sql_execute();
if (@mysql_num_rows($my->sql_res)==0)
$data='0';
else
{
for ($data1=array(); $row1=mysql_fetch_assoc($my->sql_res); $data1[]=$row1);
foreach ($data1 as $element1)
{
$data=$element1['datas'];
$picture_name=$element1['gen_name'];
$section=$element1['id_section'];
$id_picture=$element1['ID'];
$description=$element1['description'];
}
}
//-------------------------------
$my->sql_query="select * from gallery_section where ID='".$section."'";
$my->sql_execute();
if (@mysql_num_rows($my->sql_res)==0)
$data='0';
else
{
for ($data1=array(); $row1=mysql_fetch_assoc($my->sql_res); $data1[]=$row1);
foreach ($data1 as $element1)
{
$section_ok=$element1['Section'];
}
echo '<a href="index.php?cmd=gallery&big='.$id_picture.'" title="'.$description.'"><img src="gallery/work/'.$section_ok.'/small_'.$picture_name.'" border=0></a>';
}
//--------------------------------------------------------
?>
|
2 вариант
<?
//------------------------------
if (eregi("random_work.php", $_SERVER['PHP_SELF'])) {
Header("Location: ../index.php");
die();
}
function SectionNameRW($section_id)
{
$GLOBALS['my']->sql_query="select `section` from `gallery_section` where `ID`='".addslashes($section_id)."'";
$GLOBALS['my']->sql_execute();
if ($GLOBALS['my']->sql_err)
{
echo $GLOBALS['my']->sql_err;
}
for ($temp=array();$row=mysql_fetch_array($GLOBALS['my']->sql_res);$temp[]=$row);
foreach ($temp as $temps)
{
$section=$temps['section'];
}
return $section;
}
$my->sql_query="select * from `gallery_picture`";
$my->sql_execute();
if ($my->sql_err)
{
echo $my->sql_err;
}
$num=mysql_num_rows($my->sql_res)-1;
mt_srand(time()+(double)microtime()*1000000+getmypid());
$les=mt_rand(0,$num)+1;
for($article=array(); $row=mysql_fetch_array($my->sql_res); $article[]=$row);
$i=0;
foreach($article as $artelement)
{
$i++;
if ($i==$les)
{
$s=$artelement['description'];
echo '<a href="index.php?cmd=gallery&big='.$artelement['ID'].'" title="'.$s.'"><img src="gallery/work/'.SectionNameRW($artelement['id_section']).'/small_'.$artelement['gen_name'].'" border=0></a><br>';
break;
}
};
//-------------------------------
?>
|
коды, делают одно и тоже, это получение картинки и информации о ней! просто хочу понять как правельно писать, один вариант мой а другой знакомого!
Если не затруднит, то с пояснениями почему то или иной вариант правильнее! | |
|
|
|
|