Произволни ликкове от БД

ghostbg

Registered
Искам да попитам как да искарвам примерно 10 линка от различни таблици в БД при всяко презареждане?
 
Ако ти трябва от повече от една таблица, повтаряш процедурата за съответната таблица
 
а ще можеш ли да ми дадеш код :) не съм много на ти с пхп и не мога сам да си написвам кода :oops:
 
Мога да ти напиша скрипт но ще трябва да ми дадеш първо данни за твоята БД, (как се казва таблицата, какви полета има в нея, как се казва файла за връзка към БД и къде се намира той).... и това може да стане утре че сега мисля да се ориентирам към лягане :roll:
 
значи таблицата се казва

Код:
      supi

         id   	   		  
	 supi_name  	 	
	 supi_porcii  		
	 supi_prod  	 	
	 supi_text  	
	 supi_user  		
	 supi_pregled   
	 filename


Код:
      salati

         id   	   		  
	 salati_name  	 	
	 salati_porcii  		
	 salati_prod  	 	
	 salati_text  	
	 salati_user  		
	 salati_pregled   
	 filename
и т.н с Десерти, Тестени изделия ...

файла се казва conf.php и се намира в главната директория
 
я ми обясни малко по подробно какво точно искаш!
аз доколкото разбрах искаш примерно от таблицата за супи да ти изкара 10 различни линка, после от другата таблица пак 10 различни, и при всяко презареждане да са различни, така ли?
 
Аз разбрах, че от няколко таблици общо да изкара 10. ако е така ще трябва да даде цялата структура на таблиците, за обща заявка да се направи. и колко ще е тегаво на сървъра не ми се мисли.
 
jooorooo каза:
Аз разбрах, че от няколко таблици общо да изкара 10. ако е така ще трябва да даде цялата структура на таблиците, за обща заявка да се направи. и колко ще е тегаво на сървъра не ми се мисли.

jooorooo ме е разбрал точно какво искам но щом ще товари много сървара трябва да измисла как всичките рецепти да ги вкарвам в една таблица и само за всяка категория да има различно ИД

примерно

ID_supi
ID_salati

recepti_name
recepti_porcii
recepti_prod
recepti_text
recepti_user
filename

дали това може да стане и ако да как или не ?
 
слушай сега какво ще направиш ........ първо едната структура е за рецептите ето я и нея:
Код:
-- 
-- Структура на таблица `recepti`
-- 

CREATE TABLE `recepti` (
  `id_rec` int(11) NOT NULL auto_increment,
  `idcat_rec` int(11) NOT NULL default '0',
  `recepti_name` varchar(100) collate cp1251_bulgarian_ci NOT NULL default '',
  `recepti_porcii` varchar(255) collate cp1251_bulgarian_ci NOT NULL default '',
 `recepti_prod` varchar(255) collate cp1251_bulgarian_ci NOT NULL default '',
  `recepti_text` longtext collate cp1251_bulgarian_ci NOT NULL,
  `recepti_user` varchar(100) collate cp1251_bulgarian_ci NOT NULL default '',
  `filename` varchar(255) collate cp1251_bulgarian_ci NOT NULL default '',
  PRIMARY KEY  (`id_rec`)
) ENGINE=MyISAM  DEFAULT CHARSET=cp1251 COLLATE=cp1251_bulgarian_ci AUTO_INCREMENT=1 ;

после правиш още една таблица чиято структура може да е следната:
Код:
-- 
-- Структура на таблица `category`
-- 

CREATE TABLE `category` (
  `id_category` int(11) NOT NULL auto_increment,
  `title_category` varchar(100) collate cp1251_bulgarian_ci NOT NULL default '',
  PRIMARY KEY  (`id_category`)
) ENGINE=MyISAM  DEFAULT CHARSET=cp1251 COLLATE=cp1251_bulgarian_ci AUTO_INCREMENT=6 ;

-- 
-- Дъмп (схема) на данните в таблицата `category`
-- 

INSERT INTO `category` VALUES (1, 'Супи');
INSERT INTO `category` VALUES (2, 'Салати');
INSERT INTO `category` VALUES (3, 'Предястия');
INSERT INTO `category` VALUES (4, 'Основни ястия');
INSERT INTO `category` VALUES (5, 'Десерти');

със тази заявка свързваш двете таблици:
Код:
SELECT * FROM recepti INNER JOIN category ON idcat_rec=id_category WHERE idcat_rec = %s ORDER BY recepti_name ASC
и ги подрежда по азбучен ред!

а това е заявката която ще ти изкарва винаги различни рецепти от различните категории:
Код:
"SELECT id_rec,recepti_name,recepti_prod,recepti_text FROM `recepti`  ORDER BY RAND() DESC LIMIT 10 "
 
всичко направих овен тези два кода :
kitchenbg каза:
със тази заявка свързваш двете таблици:
Код:
SELECT * FROM recepti INNER JOIN category ON idcat_rec=id_category WHERE idcat_rec = %s ORDER BY recepti_name ASC
и ги подрежда по азбучен ред!

а това е заявката която ще ти изкарва винаги различни рецепти от различните категории:
Код:
"SELECT id_rec,recepti_name,recepti_prod,recepti_text FROM `recepti`  ORDER BY RAND() DESC LIMIT 10 "

незнам как да вмукна първия код в формата за качване на рецепти

формата която ползвам е ето тази
Код:
<?PHP

if($_POST['submit']){
$submit=$_POST['submit'];
$filename=$_FILES['file']['name'];
$recepti_name=$_POST['recepti_name'];
$idcat_rec=$_POST['idcat_rec'];
$recepti_prod=$_POST['recepti_prod'];
$recepti_text=$_POST['recepti_text'];
$recepti_porcii=$_POST['recepti_porcii'];
$recepti_user=$_POST['recepti_user'];
$recepti_prod= str_replace("\n", "<br>", $recepti_prod);
if ($submit)
{
$dbhost= "***************";
$dbuser = "***********";
$dbpass = "*******";
$db_name = "**********";

mysql_connect($dbhost, $dbuser, $dbpass) or die ("Грешка 1");
mysql_select_db($db_name) or die ("Грешка 2 ");

$chars="SET CHARACTER SET cp1251";mysql_query($chars);

$query="INSERT INTO receptite (idcat_rec, recepti_name, recepti_porcii, recepti_prod, recepti_text, recepti_user, filename)
VALUES ('$idcat_rec', '$recepti_name', '$recepti_porcii', '$recepti_prod', '$recepti_text', '$recepti_user', '$filename')";
$result=mysql_query($query);
if ($result)
{echo "Вашата кулинарна рецепта е изпратена";}
else
{}
if($_FILES['file']['name'] !="")
{copy($_FILES['file']['tmp_name'],"test" . $_FILES['file']['name'] )
or die('error 1');}
else
{die('Има празни полета');}
} }
?>
 
него ти го дадох само като пример, а иначе за формата която ползваш не ти трябва! В нея примерно можеш да инклуднеш ето това: addrecepta.tpl, който има следния код:
Код:
<html><head><script type="text/javascript" src="formretain.js"></script></head><body>
<center>
<form action="addrecepta.php" method="post">
<table border="0">
<tbody><tr><td align="left" valign="top">Категория</td><td>
<select name="cat" style="" id="idcat_rec">
<option value="1">Супи</option>
<option value="2">Салати</option>
<option value="3">Предястия</option>
<option value="4">Основни ястия</option>
<option value="5">Десерти</option>
</select>
</td></tr>
<tr><td align="left" valign="top">Заглавие</td><td>
<input name="title" size="20" style="" id="recepti_name" type="text"></td></tr>
<tr><td align="left" valign="top">Продукти</td><td>
<textarea rows="10" cols="35" name="product" style="" id="recepti_prod"></textarea></td></tr>
<tr><td align="left" valign="top">Приготвяне</td><td>
<textarea rows="10" cols="35" name="burn" style="" id="recepti_text"></textarea></td></tr>
<tr><td colspan="2" align="center">
<input name="submit" value="Прати" style="border: 1px solid rgb(218, 218, 218);" type="submit"></td></tr>
</tbody></table>
</form>
</center></body></html>
където този файл formretain.js ти позволява ако объркаш нещо при записването на рецептата вместо пак да започнеш отначало то ти връща стойностите, може да го изтеглиш от тук
 
знам че е пример правя го така за да схвана :) а иначе щом не ми трябва тази форма как да качвам рецептите в таблицата ??? направо от phpmyadmin?
 
добре а какъв е пхп скрипта на тази форма ? нещо не схващам какво ми обясняваш :oops:
 
обяснявам ти това че този
Код:
<?PHP

if($_POST['submit']){
$submit=$_POST['submit'];
$filename=$_FILES['file']['name'];
$recepti_name=$_POST['recepti_name'];
$idcat_rec=$_POST['idcat_rec'];
$recepti_prod=$_POST['recepti_prod'];
$recepti_text=$_POST['recepti_text'];
$recepti_porcii=$_POST['recepti_porcii'];
$recepti_user=$_POST['recepti_user'];
$recepti_prod= str_replace("\n", "<br>", $recepti_prod);
if ($submit)
{
$dbhost= "***************";
$dbuser = "***********";
$dbpass = "*******";
$db_name = "**********";

mysql_connect($dbhost, $dbuser, $dbpass) or die ("Грешка 1");
mysql_select_db($db_name) or die ("Грешка 2 ");

$chars="SET CHARACTER SET cp1251";mysql_query($chars);

$query="INSERT INTO receptite (idcat_rec, recepti_name, recepti_porcii, recepti_prod, recepti_text, recepti_user, filename)
VALUES ('$idcat_rec', '$recepti_name', '$recepti_porcii', '$recepti_prod', '$recepti_text', '$recepti_user', '$filename')";
$result=mysql_query($query);
if ($result)
{echo "Вашата кулинарна рецепта е изпратена";}
else
{}
if($_FILES['file']['name'] !="")
{copy($_FILES['file']['tmp_name'],"test" . $_FILES['file']['name'] )
or die('error 1');}
else
{die('Има празни полета');}
} }
?>
ти е заявката където изпращаш информацията към базата!
а това представлява формата където пишеш рецептата:
Код:
<html><head><script type="text/javascript" src="formretain.js"></script></head><body>
<center>
<form action="addrecepta.php" method="post">
<table border="0">
<tbody><tr><td align="left" valign="top">Категория</td><td>
<select name="cat" style="" id="idcat_rec">
<option value="1">Супи</option>
<option value="2">Салати</option>
<option value="3">Предястия</option>
<option value="4">Основни ястия</option>
<option value="5">Десерти</option>
</select>
</td></tr>
<tr><td align="left" valign="top">Заглавие</td><td>
<input name="title" size="20" style="" id="recepti_name" type="text"></td></tr>
<tr><td align="left" valign="top">Продукти</td><td>
<textarea rows="10" cols="35" name="product" style="" id="recepti_prod"></textarea></td></tr>
<tr><td align="left" valign="top">Приготвяне</td><td>
<textarea rows="10" cols="35" name="burn" style="" id="recepti_text"></textarea></td></tr>
<tr><td colspan="2" align="center">
<input name="submit" value="Прати" style="border: 1px solid rgb(218, 218, 218);" type="submit"></td></tr>
</tbody></table>
</form>
</center></body></html>
запаметяваш като addrecepta.tpl и го инклудваш във горепосочения код!
 
знам че горното ми е само заявката, формата ми е друга само не разбрах как да includna тази форма която ми да де и кода с свързването на двете таблици как да го вмъкна в заявката
 

Back
Горе