Archief - PHP: Mysql: omslachtige methode

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Sprits

Legacy Member
PHP:
$result = mysql_query("SELECT raceid,racename FROM race WHERE raceid = '$race'");
$rowrace = mysql_fetch_row($result);
$result = mysql_query("SELECT serverid,servername FROM server WHERE serverid = '$serverid'");
$rowserver = mysql_fetch_row($result);
$result = mysql_query("SELECT classid,classname FROM class WHERE classid = '$class'");
$rowclass = mysql_fetch_row($result);

echo "$charname (Level $level ".$rowrace[1]." ".$rowclass[1].") toegevoegd op server '".$rowserver[1]."'.";

dit is dus zeer omslachtig en naarmate de database groter wordt, gaat dat problemen geven

is het mogelijk om dit in 1 à 2 lijnen te schrijven?

AncientRites

Legacy Member
Als de tabellen niets met elkaar te maken hebben kan je het inderdaad nog met een join in 1 sql-commando gieten.

PHP:
$sql = "
SELECT r.racename, s.servername, c.classname 
FROM race AS r
LEFT JOIN server AS s ON (s.serverid = '$serverid')
LEFT JOIN class AS c ON (c.classid = '$class')
WHERE r.raceid = '$race'
";

Nog 2 opmerkingen:
  • ID's ophalen uit database is nogal nutteloos als je ze ook al in je WHERE zet (ze steken dus al in je variabele)
  • Als je ID's (serverid, classid, ...) integers zijn, moet je ze niet tussen aanhalingstekens plaatsen

killgore

Legacy Member
nog een opmerking:
id's zijn normaal integers. Stel ze dan ook in als integers en als dat zo is -> integers doe je zonder '.

die joins zullen trouwens enkel maar werken zoals hij het wilt als die id's unique zijn.

Sprits

Legacy Member
bedankt he manne!

het werkt nu zoals het hoort zonder teveel tralala :D
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan