Find automatisk værdien fra feltet der er primary key.
Ved hjælp af nedenstående, som jeg tidligere har fået hjælp til, viser jeg indholdet af et vilkårligt SQL kald. Det har jeg udbygget for at få fundet primary key, som jeg ønsker at bruge i forbindelse med at kunne redigere eller slette de enkelte rækker.Så langt så godt.
Men jeg er endnu ikke velbevandret nok udi php, til at kunne gennemskue, hvordan jeg lige skal gøre. Mit problem opstår i den nederste del, hvor jeg i mit link skriver ...&row=... Her skulle row gerne være lig med indholdet i det felt der er tabellens primary key.
************SCRIPT***********
function ShowSQL($sqlstreng, $table){
$res = mysql_query($sqlstreng) or die(mysql_error()." ".$sqlstreng);
$pri_found = false;
$res_key = mysql_query("EXPLAIN $table") or die(mysql_error()." EXPLAIN $table");
while ($row_key = mysql_fetch_assoc($res_key)) {
if ($row_key['Key'] == 'PRI'){
$pri_found = true;
$pri_key = $row_key['Field'];
}
}
if ($pri_found){
echo 'Primary key is '.$pri_key;
}else{
echo "<a href='dbadmin.php?action=create_key&table=$table'>You may not edit the content since there is no Primary key. Click here to create one.</a><br><br>";
}
if (mysql_num_rows($res)) {
$first = true;
echo "<table align=center border=1>";
while ($row = mysql_fetch_assoc($res)) {
if ($first){
echo "<tr><td></td>\n";
while (list($key, $val) = each($row)) echo "<th>".$key."</th>\n";
echo "<td></td></tr>\n\n";
reset($row);
$first = false;
}
if ($pri_found){
echo "<tr><td class=\"TDCenter\"><a href=\"dbadmin.php?action=edit_row&table=$table&row=&key=$pri_key\"><img src=\"images/blyant.gif\" border=0></a></td>\n";
}else{
echo "<tr><td></td>\n";
}
while (list($key, $val) = each($row)) echo "<td class=\"TDLeft\">".$val."</td>\n";
if ($pri_found){
echo "<td><a href=\"dbadmin.php?action=delete_row&table=$table&row=&key=$pri_key\" OnClick=\"return confirm('Are you sure you want to delete?');\"><img src=\"images/trashcan.gif\" border=0></a></td></tr>\n\n";
}else{
echo "<td></td></tr>\n\n";
}
}
echo "</table>";
}
}
