Diskuse

Téma: SQL

Zdravím,
mám zkušebn tabulku "sunlight-pacienti" kam ukladam prommenou ._loginid (id uzivatele - v mysql je to bunka loginid) a pri vypisu potrebuju vypsat jeho dejme tomu ICQ.

Mam tedy kod:
$sql = mysql_query("SELECT * FROM `" . _mysql_prefix . "-pacienti` WHERE loginid=".intval($query['loginid']));
$zaznam = mysql_fetch_array($sql);
$content.=''.$zaznam['icq'].'';

ID uzivatele v tabulce je, kdyz si necham vypsat druhy sql dotaz $query['loginid'] tak se mi v poradku zobrazi cislo.

Nevite kde by mohl byt zakopan pes?
postZaslat odpověď
Kód vypadá správně, hoď sem strukturu db tabulky pacienti
Zde je SQL:
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
CREATE TABLE IF NOT EXISTS `sunlight-pacienti` (
`id` int(11) NOT NULL auto_increment,
`jmeno` tinytext character set utf8,
`loginid` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

INSERT INTO `sunlight-pacienti` (`id`, `jmeno`, `loginid`) VALUES
(28, 'Testovací jméno', '0')

Je pouze o test, buud delat lepsi db zapisu na www.ocnivady.cz
Tak znova :)
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
CREATE TABLE IF NOT EXISTS `sunlight-pacienti` (
`id` int(11) NOT NULL auto_increment,
`jmeno` tinytext character set utf8,
`loginid` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

INSERT INTO `sunlight-pacienti` (`id`, `jmeno`, `loginid`) VALUES
(28, 'Testovací jméno', '0')
A kde mas v db to ICQ, ktere chces tady $content.=''.$zaznam['icq'].'';zobrazit?? 😲 😲

To leda ze by jsi to joinem propojil s tabulkou users a pak muzes zobrazovat icq. nejak takto:$sql = mysql_query("SELECT p.*,u.icq FROM `" . _mysql_prefix . "-pacienti` p LEFT JOIN `" . _mysql_prefix . "-users` u ON p.loginid=u.id WHERE p.loginid=".intval($query['loginid'])." GROUP BY p.id");stříleno z hlavy, netestováno.
Díky Ti 🙂 fachčí to.
Vyměnil jsem
SELECT p.*,u.icq FROMza SELECT * FROMabych mohl vybirat cokoliv :-)

Ještě jednou díky.
To je sice hezké, že jsi to vyměnil, ale až někde použiješ $zaznam['id'], tak to bude id uživatele, místo id pacienta. Dal jsem tam ty parametry schvalně, pokud by jsi chěl používat všechno, tak musíš stejné názvy sloupců odlišit. např:SELECT *,p.id AS pid FROM