25. september 2003 - 09:09Der er
10 kommentarer og 1 løsning
tables join problem
Jeg har følgende kode:
// Request the data $result = @mysql_query("SELECT * FROM pile WHERE nr = '$_REQUEST[update]'"); if (!$result) { echo("<p>Error performing query: " . mysql_error() . "</p>"); exit(); } // Display the data while ( $row = mysql_fetch_array($result) ) {
den hænger sammen med en form på forrige side hvor jeg så kan indskrive et nr. på den var jeg vil ha frem, meeen mine varer er delt op i flere tables.
Alle tables har nr. i, men aldrig det samme nr.
Hvordan får jeg den til at "finde" varer fra alle tables.. jeg har prøvet med: $result = @mysql_query("SELECT * FROM pile,gran WHERE nr = '$_REQUEST[update]'");
men så brokker den sig med følgende sætning:
Error performing query: Column: 'nr' in where clause is ambiguous
Så vidt jeg har forstået er det noget med den ikke ved hvordan den skal sortere eller lign, meeen hvordan trixer jeg lige den :)
------------------ Min datastruktur: # Struktur dump for tabellen `gran` #
CREATE TABLE `gran` ( `nr` varchar(15) NOT NULL default '', `name` varchar(50) default NULL, `size` varchar(20) NOT NULL default '', `page` int(3) NOT NULL default '0', `ean` int(20) NOT NULL default '0', `pieceseur` int(5) NOT NULL default '0', `netto` decimal(9,2) NOT NULL default '0.00', PRIMARY KEY (`nr`) ) TYPE=MyISAM;
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
$result = @mysql_query("SELECT * FROM pile,gran WHERE pile.nr = '$_REQUEST[update]' and gran.nr = '$_REQUEST[update]'");
men så kommer der intet og med
$result = @mysql_query("SELECT * FROM pile,gran WHERE pile.nr = '$_REQUEST[update]' or gran.nr = '$_REQUEST[update]'"); kommer der kun data ud fra "gran" :)
Jeg vil anbefale dig at lave din struktur om, så du kun har een tabel. Den skal indholde de samme felter som fx gran, + et ekstra til at afgøre om rækken er "gran" eller "pile" eller ... hvad du nu registrerer.
problemet er at der er forskellige egenskaber på varene, alt efter hvad gruppe de hører under, så hvis jeg sq samle det i en tabel, vil der komme en masse tomme felter, og det er vel ikke helt optimalt :)
Jeg overvejer at lave en ny tabel hvor der er et "id" og "nr" i, og så evt. kunne trække noget ud fra den, burde kunne lade sig gøre, men hvis der var ene anden simpel løsning på det overstående problem, så vil det være super :)
ah ye i de 2 tables er det samme egenskaber, men er også bare en test :)
det lyder som om jeg skal lave min struktur om, sådan læser jeg mig også frem til det, men giver det lige lidt tid endnu til folk kan komme med ide'er :)
$result = mysql_query("SELECT * FROM pile,gran WHERE pile.nr = '".$_REQUEST['update']."' and gran.nr = '".$_REQUEST['update']."'") or die(mysql_error());
$result = mysql_query("SELECT * FROM pile,gran WHERE pile.nr = '".$_REQUEST['update']."' and gran.nr = '".$_REQUEST['update']."'") or die(mysql_error());
giver mig intet, der kommer ikke noget ud på siden.
jeg prøver at lige den print $_REQUEST['update']; .. hvis jeg kan lure hvor den skal ind :)
print $_REQUEST['update']; når jeg smider den ind, f.eks. lige over $result linien skriver den korrekt nok ud, den data som jeg havde indtastet i "formen"
har fundet en løsning, måske ikke den bedste, men det virker fint fint :)
Ellers tak for ide'erne morpheus
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.