Autor Zpráva
slunlcko
Profil
Ahoj, chtěl bych se zeptat jestli je nějak možné vložit do MySQL tabulky php script <? potřeboval bych aby se mi jedna tabulka odkázala na druhou a chtěl bych to napojit tak, že na webu je script pro vypsání dat z tabulky SyGn_portfolio pod sloupcem TEXT a do sloupečku TEXT bych chtěl napsat další php script, který by se odkazoval na jinou tabulku SyGn_p_letacky a vypsal data ze sloupečku VZKAZ, je možné to udělat i nějak jednoduše?? Data se budou stále měnit a mě se nechce stále dopisovat do zdrojáku nové věcy a hlavně je tam víc sekí než jen letacky takže bych to měl rychlejší než vypisovat každou novou věc zvlašť... díky za odpověd
nightfish
Profil
můžeš si skript ukládat do databáze a pak jej vytáhnout a pomocí eval() zpracovat
nicméně celý tento postup mi připadne dosti komplikovaný a možná i ne zcela bezpečný...
takže čeho vlastně chceš dosáhnout?
slunlcko
Profil
mno mam tabulku

SyGn_portfolio

id | titulek | text
1 | letacky | tady bych chtel odkaz na tabulku SyGn_p_letacky
2 | bannery | tady bych chtel odkaz na tabulku SyGn_p_bannery

problem je tom ze titulek funguje jako odkaz pro promennou $cist ktera se odkazuje na TITULEK ($cist="titulek") a protoze tam bude spousta udaju prijde mi neekonomicke j vsechny vlkadat do toho jednoho sloupecku a kdyz bude neco potreba zmenit budu muset celý ten sloupecek prohledavat
a tabulku SyGn_p_letacky / bannery

cas | vzkaz
now| a tady teprv ten text co tam chci mit
now| a tady teprv ten text co tam chci mit
BetaCam
Profil
tak nějak furt necápu čeho chceš ve výsledku vlastně dosáhnout, ale asi sem jenom natvrdlej.
BetaCam
Profil
Když si to tak čtu podruhé nestačil by ti na to obyčejnej JOIN??
Jan Tvrdík
Profil
Taky to moc nechápu, ale určitě si myslím, že to půjde řešit efektivněji než přes eval.

slunlcko - zkus lépe vysvětlit, co vlastně chceš. Z toho co jsi napsal, jsem pochopil, že máš tabulku a v ní data a ty chceš nějak dynamicky zkombinovat s daty s jiné tabulky.
slunlcko
Profil
Toto je moje MENU, ktere se vytvari vypsanim dat z tabulky SyGn_portfolio

<div class="obsahY"><h1>Naše portfolio</h1><?
include ("config.php");

$spojeni = mysql_connect(SQL_HOST, SQL_USERNAME, SQL_PASSWORD) or die("Nelze se pripojit k MySQL: " . mysql_error());
MySQL_Query("SET NAMES utf8");
mysql_select_db(SQL_DBNAME, $spojeni) or die("Nelze vybrat databázi: ". mysql_error());
$vysledek = mysql_query(
"SELECT * FROM SyGn_portfolio ORDER BY id",
$spojeni);

while ($zaznam = mysql_fetch_array($vysledek) ):
echo "<p><a href='portfolio.php?cist=";
echo $zaznam["titulek"];
echo "'>";
echo "<img src='images/main/";
echo $zaznam["titulek"];
echo ".gif' border='0'>";
echo "</a>";
endwhile;
?></div>



Pri klicknutí na jakkoukoliv polozku v menu se mi zobrazi text za pomoci:

<?

include ("config.php");

$spojeni = mysql_connect(SQL_HOST, SQL_USERNAME, SQL_PASSWORD) or die("Nelze se pripojit k MySQL: " . mysql_error());
MySQL_Query("SET NAMES utf8");
mysql_select_db(SQL_DBNAME, $spojeni) or die("Nelze vybrat databázi: ". mysql_error());
$vysledek = mysql_query(
"SELECT * FROM SyGn_portfolio ORDER BY id",
$spojeni);

if (isSet($_GET['cist'])) $cist = $_GET['cist']; else $cist = "";
$vysledekID = mysql_query(
"SELECT * FROM SyGn_portfolio WHERE titulek='$cist'",
$spojeni);
if (!empty($cist)) {
while ($zaznam = mysql_fetch_array($vysledekID) ):
echo $zaznam["text"];
endwhile;
}

?>

V $zaznam["text"]; by se mela objevit vypsana data ze sloupecku TEXT v tabulce SyGn_portfolio

jelikož ale mám v plánu tento obsah často měnit a je jasné že v něm bude docela dost dat, je docela nepraktické to mít vlastne jenom v jednom sloupecku. Proto bych chtel aby se mi sloupecek TEXT odkazoval na data z tabulky SyGn_p_letacky ! Je nejaka možnost to udělat aniž bych nemusel překopávat cely web??
Jan Tvrdík
Profil
Stále nevím, jestlí to úplně chápu, ale zkusím to :o)
SyGn_portfolio

id - int, Primary key
titulek - varchar unique
text - text

SyGn_p_letacky (nechápu ten stupidní název, ale asi to má nějakej systém)
idletacku - int, PK
idportforia - int
cas
vzkaz

$dotaz = mysql_query("SELECT * from SyGn_portfolio JOIN SyGn_p_letacky ON SyGn_p_letacky.idportforia = SyGn_portfolio.id WHERE SyGn_portfolio.titulek = $cist");

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0