HamatzuMedlem sedan mars 2005232 inlägg Hej!
Jag har nu börjat att försöka lära mig php. Men jag har kommit fram till ett litet problem.
echo "| <a href='admin_gb.php?svara=".$rad['id']."'>Svara På Inlägget</a> ";
if(isset($_GET['svara'])) {
$lank = mysql_connect($server, $user, $pass);
$sql = "SELECT * FROM gastbok WHERE id='{$_GET['svara']}'";
mysql_query("$sql");
}
Borde inte koden ovanför skriva ut all info om just det id eller har jag fel.
Tacksam för svar.
GunnarDMedlem sedan juni 20014 290 inlägg Du saknar ett antal rader/funktioner:
Ett enkelt exempel som hämtar från en databas och skriver ut det:
$link=mysql_connect($dbhost, $dbuser, $dbpasswd);
$db=mysql_select_db($dbname, $link);
$query="SELECT * FROM nyheter ORDER BY tid DESC";
$result=mysql_query($query);
if (!mysql_num_rows($result)) {
printf("<p>Inga aktuella nyheter funna!</p>\n");
}
while($row=mysql_fetch_array($result, MYSQL_ASSOC)) {
printf("<dt><b>%s</b></dt>\n", $row["tid"]);
printf("<dd>%s</dd>\n", $row["text"]);
}
mysql_close($link);
PS: Jag är en gammal C programmerarer ja! :)
aasahMedlem sedan mars 20034 471 inlägg Re: Php-hjälp!
Förutom det GunnarD påpekar är jag osäker på om detta verkligen funkar?
id='{$_GET['svara']}'";
Borde inte { tolkas som tecknet '{' här eftersom det står i en sträng? :q
Jag skulle skrivit:
id='".$_GET['svara']."'";
HamatzuMedlem sedan mars 2005232 inlägg Jag löste det själv Jag glömde ju inkludera den filen där jag har databaskopplingarna. :r
MatteMedlem sedan aug. 20002 975 inlägg Re: Re: Php-hjälp!
aasah skrev:
Förutom det GunnarD påpekar är jag osäker på om detta verkligen funkar?
id='{$_GET['svara']}'";
Borde inte { tolkas som tecknet '{' här eftersom det står i en sträng? :q
Jag skulle skrivit:
id='".$_GET['svara']."'";
Jodå, det fungerar.
Klamrarna är t.o.m. nödvändiga om man har associativt index i en array-variabel inne i en sträng, annars gör man som du föreslår.
Några sätt att göra samma sak på:
echo "text {$_GET['var']} text";
echo "text " . $_GET['var'] . " text";
echo "text $_GET[var] text";
// Med apostrofer måste du alltid bryta ut ur strängen
echo 'text ' . $_GET['var'] . ' text';
HamatzuMedlem sedan mars 2005232 inlägg Jag har nu ett till problem. Om ni kollar på denna
kod så borde det ju när man trycker på länken
"Svara På Inlägget" rada upp det inlägget som
man trycker på. Det konstiga är att if-satsen med
"radera" funkar men inte den med "svara".
echo "<a href='admin_gb.php?radera=".$rad['id']."'>Radera Inlägget</a> ";
echo "| <a href='admin_gb.php?svara=".$rad['id']."'>Svara På Inlägget</a> ";
if(isset($_GET['radera'])) {
$sql = "DELETE FROM gastbok WHERE id='".$_GET['radera']."'";
mysql_query("$sql");
echo "<script language='JavaScript'>
location.href=('admin_gb.php');
</script>";
}
if(isset($_GET['svara'])) {
$sql = "SELECT FROM gastbok WHERE id='".$_GET['svara']."'";
mysql_query("$sql");
die();
}
aasahMedlem sedan mars 20034 471 inlägg Felet är här (i SQL-satsen):
$sql = "SELECT FROM gastbok WHERE id='".$_GET['svara']."'";
Det borde stå:
$sql = "SELECT * FROM gastbok WHERE id='".$_GET['svara']."'";
MatteMedlem sedan aug. 20002 975 inlägg Du måste också hämta resultatet:
if (isset($_GET['svara'])) {
$sql = "SELECT * FROM gastbok WHERE id = ".intval($_GET['svara']);
$result = mysql_query($sql);
if (mysql_num_rows($result) == 0) {
// Gör något om inte någon rad hittades med detta id.
}
$row = mysql_fetch_assoc($result);
// Visa inlägget m.m. Värdena finns i arrayen $row.
exit;
}