Søge Query
VÆR VENLIG AT LÆSE HELE SPM. FØR DU SVARER ! ;DJeg har en lille query der ikke helt opfører sig som jeg gerne vil .
$UniqDBID = md5(uniqid(rand()));
mysql_query(\"CREATE TABLE $UniqDBID (ID INT(11), artistname varchar(32))\");
mysql_query(\"INSERT INTO $UniqDBID SELECT ID, artistname FROM test_artist WHERE ((artistname LIKE \'%$query%\')OR(name LIKE \'%$query%\')OR(CV LIKE \'%$query%\')) GROUP BY ID\");
mysql_query(\"INSERT INTO $UniqDBID SELECT test_artist.ID, test_artist.artistname FROM test_artist, test_picture WHERE ((test_picture.AID=test_artist.ID)AND(test_picture.PictureText1 LIKE \'%$query%\')OR(test_picture.PictureText2 LIKE \'%$query%\')OR(test_picture.PictureText3 LIKE \'%$query%\')OR(test_picture.PictureText4 LIKE \'%$query%\')) GROUP BY ID\") or die(mysql_error());
$SearchResult = mysql_query(\"SELECT * from $UniqDBID GROUP BY ID ORDER BY artistname\");
mysql_query(\"DROP TABLE $UniqDBID\");
Det jeg gerne vil er gørst at søge på artistnavn, navn og cv fra test_artist databasen og PictureText1..4 fra test_picture databasen.
Jeg går ud fra at problemet opstår ved at jeg prøver at indsætte (test_picture.AID=test_artist.ID)AND samtidig med at jeg fører OR sætninger af i samme åndedræt. Kan jeg lave en SELECT som substatement på en anden SELECT - jeg synes ikke jeg kan få det til at virke som på SQL Serveren.
Har det interesse, er DB skemaet pastet herunder. Har du et bedre forslag er jeg meget åben ;D
---
CREATE TABLE test_artist (
ID int(11) DEFAULT \'0\' NOT NULL auto_increment,
artistname varchar(32) NOT NULL,
name varchar(32) NOT NULL,
address varchar(32),
zip varchar(4),
city varchar(32),
email varchar(32),
age varchar(12),
phone varchar(8),
special varchar(254),
url varchar(64),
sname enum(\'N\',\'Y\') DEFAULT \'N\' NOT NULL,
saddress enum(\'N\',\'Y\') DEFAULT \'N\' NOT NULL,
szip enum(\'N\',\'Y\') DEFAULT \'N\' NOT NULL,
scity enum(\'N\',\'Y\') DEFAULT \'N\' NOT NULL,
semail enum(\'N\',\'Y\') DEFAULT \'N\' NOT NULL,
sage enum(\'N\',\'Y\') DEFAULT \'N\' NOT NULL,
sphone enum(\'N\',\'Y\') DEFAULT \'N\' NOT NULL,
surl enum(\'N\',\'Y\') DEFAULT \'N\' NOT NULL,
password varchar(64) NOT NULL,
CV text,
PRIMARY KEY (ID),
KEY ID (ID),
UNIQUE ID_2 (ID)
);
CREATE TABLE test_picture (
ID int(11) DEFAULT \'0\' NOT NULL auto_increment,
AID int(11) DEFAULT \'0\' NOT NULL,
CID int(11) DEFAULT \'0\' NOT NULL,
Picture1 varchar(32) NOT NULL,
PictureText1 varchar(128),
Picture2 varchar(32),
PictureText2 varchar(128),
Picture3 varchar(32),
PictureText3 varchar(128),
Picture4 varchar(32),
PictureText4 varchar(128),
PRIMARY KEY (ID),
KEY ID (ID),
UNIQUE ID_2 (ID)
);
