supinum Medlem sedan feb. 2003 115 inlägg Trådstart 8 apr. 2003 09:27 #1 hej.
kolla på:
http://www.supinum.com/latjo/alla.php
där finns en rad siffror som ska föreställa rubriker i en artikeldatabas. Meningen är att man ska klicka på den rubrik vars artikel man vill läsa. Men hur jag än bär mig åt får jag bara träff på första artikeln oavsett vilken rubrik jag klickar på.
vad har jag missat?
här är en databasens innehåll i sin helhet:
http://www.supinum.com/latjo/tabell.html
mvh David s
B Bäckman Medlem sedan nov. 2001 274 inlägg Skulle man kunna få se lite kod från de två sidor som det handlar om i det här fallet? Sidan som listar alla artiklar, och sidan som tar fram den artikel man klickade på.
Jag tycker ju att det borde vara "...where id = {$_GET["id"]}" det är något fel på, på sidan du tar fram artiklarna.
supinum Medlem sedan feb. 2003 115 inlägg ok här kommer först
alla.php
sedan
artikel.php
alla.php
<?php require_once('Connections/bas.php'); ?>
<?php
mysql_select_db($database_bas, $bas);
$query_alla = "SELECT * FROM bas_artikel";
$alla = mysql_query($query_alla, $bas) or die(mysql_error());
$row_alla = mysql_fetch_assoc($alla);
$totalRows_alla = mysql_num_rows($alla);
?>
<html>
<head>
<title>alla</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#CCCCCC" text="333333" link="333333" vlink="333333" alink="333333">
<table cellspacing="0">
<?php do { ?>
<tr>
<td width="145"><font color="#999999" size="2"><a href="artikel.php?id=<?php echo $row_alla['id']; ?>"><?php echo $row_alla['rubrik']; ?></a></font></td>
</tr>
<?php } while ($row_alla = mysql_fetch_assoc($alla)); ?>
</table>
</body>
</html>
<?php
mysql_free_result($alla);
?>
artikel.php
[PHP]<?php require_once('Connections/bas.php'); ?>
<?php
mysql_select_db($database_bas, $bas);
$query_alla = "SELECT * FROM bas_artikel";
$alla = mysql_query($query_alla, $bas) or die(mysql_error());
$row_alla = mysql_fetch_assoc($alla);
$totalRows_alla = mysql_num_rows($alla);
?>
<html>
<head>
<title>alla</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#CCCCCC" text="333333" link="333333" vlink="333333" alink="333333">
<table cellspacing="0">
<?php do { ?>
<tr>
<td width="145"><font color="#999999" size="2"><a href="artikel.php?id=<?php echo $row_alla['id']; ?>"><?php echo $row_alla['rubrik']; ?></a></font></td>
</tr>
<?php } while ($row_alla = mysql_fetch_assoc($alla)); ?>
</table>
</body>
</html>
<?php
mysql_free_result($alla);
?>
supinum Medlem sedan feb. 2003 115 inlägg nu kommer väl rätt kod till artikel.php hoppas jag
<?php require_once('Connections/bas.php'); ?>
<?php
$currentPage = $HTTP_SERVER_VARS["PHP_SELF"];
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
$theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
$editFormAction = $HTTP_SERVER_VARS['PHP_SELF'];
if (isset($HTTP_SERVER_VARS['QUERY_STRING'])) {
$editFormAction .= "?" . $HTTP_SERVER_VARS['QUERY_STRING'];
}
if ((isset($HTTP_POST_VARS["MM_update"])) && ($HTTP_POST_VARS["MM_update"] == "form1")) {
$updateSQL = sprintf("UPDATE bas_artikel SET datum=%s, rubrik=%s, ingress=%s, brodtext=%s, forfattare=%s, mail=%s WHERE id=%s",
GetSQLValueString($HTTP_POST_VARS['datum'], "date"),
GetSQLValueString($HTTP_POST_VARS['rubrik'], "text"),
GetSQLValueString($HTTP_POST_VARS['ingress'], "text"),
GetSQLValueString($HTTP_POST_VARS['brodtext'], "text"),
GetSQLValueString($HTTP_POST_VARS['forfattare'], "text"),
GetSQLValueString($HTTP_POST_VARS['mail'], "text"),
GetSQLValueString($HTTP_POST_VARS['id'], "int"));
mysql_select_db($database_bas, $bas);
$Result1 = mysql_query($updateSQL, $bas) or die(mysql_error());
$updateGoTo = "index.php";
if (isset($HTTP_SERVER_VARS['QUERY_STRING'])) {
$updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?";
$updateGoTo .= $HTTP_SERVER_VARS['QUERY_STRING'];
}
header(sprintf("Location: %s", $updateGoTo));
}
$maxRows_artikel = 1;
$pageNum_artikel = 0;
if (isset($HTTP_GET_VARS['pageNum_artikel'])) {
$pageNum_artikel = $HTTP_GET_VARS['pageNum_artikel'];
}
$startRow_artikel = $pageNum_artikel * $maxRows_artikel;
mysql_select_db($database_bas, $bas);
$query_artikel = "SELECT * FROM bas_artikel";
$query_limit_artikel = sprintf("%s LIMIT %d, %d", $query_artikel, $startRow_artikel, $maxRows_artikel);
$artikel = mysql_query($query_limit_artikel, $bas) or die(mysql_error());
$row_artikel = mysql_fetch_assoc($artikel);
if (isset($HTTP_GET_VARS['totalRows_artikel'])) {
$totalRows_artikel = $HTTP_GET_VARS['totalRows_artikel'];
} else {
$all_artikel = mysql_query($query_artikel);
$totalRows_artikel = mysql_num_rows($all_artikel);
}
$totalPages_artikel = ceil($totalRows_artikel/$maxRows_artikel)-1;
$queryString_artikel = "";
if (!empty($HTTP_SERVER_VARS['QUERY_STRING'])) {
$params = explode("&", $HTTP_SERVER_VARS['QUERY_STRING']);
$newParams = array();
foreach ($params as $param) {
if (stristr($param, "pageNum_artikel") == false &&
stristr($param, "totalRows_artikel") == false) {
array_push($newParams, $param);
}
}
if (count($newParams) != 0) {
$queryString_artikel = "&" . implode("&", $newParams);
}
}
$queryString_artikel = sprintf("&totalRows_artikel=%d%s", $totalRows_artikel, $queryString_artikel);
?>
<html>
<head>
<title>artikel</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#CCCCCC" text="333333" link="333333" vlink="333333" alink="333333">
<table width="75%" cellspacing=" ">
<tr>
<td><?php echo $row_artikel['rubrik']; ?></td>
</tr>
<tr>
<td><?php echo $row_artikel['ingress']; ?></td>
</tr>
<tr>
<td><?php echo $row_artikel['brodtext']; ?></td>
</tr>
</table>
<p> </p>
</body>
</html>
<?php
mysql_free_result($artikel);
?>
Lasp Medlem sedan juli 2000 12 978 inlägg Jag kan inte PHP så jag är nog inte till hjälp i detta fallet.
Ville bara berömma dig för exemplet. Så skall det vara.
PS Kolla parentes ikring invariablen och hur den används *. /Ds