Autor Zpráva
swordfish
Profil *
zdravim,
s databazema a php zrovna zacinam a prave nemuzu vyresit tento problem:
v jedne databazi mam 2 tabulky.
Tab1 obsahuje sloupce: id, uzivatel
Tab2 obsahuje sloupce: id2, uzivatel2, link
id=id2
uzivatel=uzivatel
potrebuju:
1. pripojit se k obema tabulkam soucasne
2. na zaklade dat z Tab1 vybrat data z Tab2
3. vypsat hodnotu sloupce link z Tab2
Joker
Profil
Od toho je spojení tabulek, neboli JOIN.

Příklad spojení tabulek:

SELECT t2.link AS link FROM Tab1 t1 JOIN Tab2 t2 ON t1.id = t2.id2 WHERE t1.id = 1

Ale k těm tabulkám:
Tab1 obsahuje sloupce: id, uzivatel
Tab2 obsahuje sloupce: id2, uzivatel2, link
id=id2
uzivatel=uzivatel

Podle toho popisu bych řekl, že tabulky zbytečně duplikují data. Jeden konkrétní údaj by neměl být duplikovaný ve více tabulkách. To se samozřejmě netýká údajů, podle kterých se ty tabulky párují k sobě.
swordfish
Profil *
sesmolil sem tedy toto, ale pise mi to error: Parse error: syntax error, unexpected T_STRING .... on line 11
co dělam spatně?
<?
$server = "server";
$dbusername = "dbusername";
$dbpassword = "dbpassword";
$db ="databaze";
mysql_connect($server, $dbusername, $dbpassword);

mysql_query("select * from Tab1");
mysql_query("select * from Tab2");

SELECT Tab2.link AS link FROM Tab1 Tab1 JOIN Tab2 Tab2 ON Tab1.id = Tab2.id2 WHERE Tab1.id = 1;
echo " link";
?>
djlj
Profil
list($link)=mysql_fetch_row(mysql_query("SELECT Tab2.link AS link FROM Tab1 JOIN Tab2 ON Tab1.id = Tab2.id2 WHERE Tab1.id = 1"));
echo $link;
swordfish
Profil *
bohuzel mi to zase haze error: Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /var/www/... on line 11

<?
$server = "server";
$dbusername = "dbusername";
$dbpassword = "dbpassword";
$db ="databaze";
mysql_connect($server, $dbusername, $dbpassword);

mysql_query("select * from Tab1");
mysql_query("select * from Tab2");

list($link)=mysql_fetch_row(mysql_query("SELECT Tab2.link AS link FROM Tab1 JOIN Tab2 ON Tab1.id = Tab2.id2 WHERE Tab1.id = 1"));
echo $link;
?>
nightfish
Profil
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /var/www/... on line 11
to znamená, že je něco špatně, zřejmě jsi nevybral databázi

udělej to následovně:

<?php
$server = "server";
$dbusername = "dbusername";
$dbpassword = "dbpassword";
$db ="databaze";
mysql_connect($server, $dbusername, $dbpassword);
mysql_select_db($db);

$result = mysql_query("SELECT Tab2.link AS link FROM Tab1 JOIN Tab2 ON Tab1.id = Tab2.id2 WHERE Tab1.id = 1");
if (!$result) Die(mysql_error());

list($link)=mysql_fetch_row($result);
echo $link;
?>
swordfish
Profil *
Diky moc vsem!!
uz to funguje :))
Toto téma je uzamčeno. Odpověď nelze zaslat.