我将采取的方法。
______________________________________________________________
| UniqueID | FavouriteID | Data | Name | Page Link | Type |
| Int(11) | Int(11) | Blob | varchar | Varchar | Int? |
______________________________________________________________
第二张桌子
___________________________
| UniqueID | FavouritName |
| INT(11) | VarChar |
___________________________
在表 2 UniqueID 和表 1 FavouritID 之间创建一个外键
通过 PHP 访问时,我自己使用这组函数
function RDataLink($field, $table, $current=""){
accessDB();
$QTable=mysql_query("SHOW CREATE TABLE $table");
$Table=mysql_result($QTable,0,1);
exitDB();
// CONSTRAINT `jobSeeker_ibfk_1` FOREIGN KEY (`location`) REFERENCES `24_location` (`UID`)
$x=preg_match_all('/FOREIGN[^(]+.[^(]+[^)]+./',$Table,$matches);
foreach ($matches as $array){
foreach ($array as $value){
if(preg_match("/(?<=FOREIGN\sKEY.{3})$field/",$value)){
if (preg_match("/(?<=REFERENCES[^`].)[^`]+/",$value,$ForeignTable)){
accessDB();
$Qrows=mysql_query("SELECT * FROM ".$ForeignTable[0]);
exitDB();
$options="<select name=\"$field\">";
while ($rows=mysql_fetch_array($Qrows,MYSQL_ASSOC)){
$options.="<option value=\"".$rows['UID']."\"".($current==$rows['UID'] ? "selected" : "") .">".$rows['name']."</option>";
}
$options.="</select>";
}
}
}
}
if(!$x){
return false;
}
else {
return $options;
}
}
function RQuery($field,$table,$current){
accessDB();
$QTable=mysql_query("SHOW CREATE TABLE $table");
$Table=mysql_result($QTable,0,1);
exitDB();
$x=preg_match_all('/FOREIGN[^(]+.[^(]+[^)]+./',$Table,$matches);
foreach ($matches as $array){
foreach ($array as $value){
if(preg_match("/(?<=FOREIGN\sKEY.{3})$field/",$value)){
if (preg_match("/(?<=REFERENCES[^`].)[^`]+/",$value,$ForeignTable)){
accessDB();
$Qrow=mysql_query("SELECT name FROM ".$ForeignTable[0]." WHERE UID='$current'");
return mysql_result($Qrow,0);
exitDB();
}
}
}
}
}
可能需要一些研究以适用于您的情况。但我希望它会有所帮助