webForumDet fria alternativet

hittar bara 1:a artikeln

4 svar · 262 visningar · startad av supinum

supinumMedlem sedan feb. 2003115 inlägg
#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äckmanMedlem sedan nov. 2001274 inlägg
#2

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. :)

supinumMedlem sedan feb. 2003115 inlägg
#3

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);
?>
supinumMedlem sedan feb. 2003115 inlägg
#4

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>&nbsp;</p>
</body>
</html>
<?php
mysql_free_result($artikel);
?>
LaspMedlem sedan juli 200012 980 inlägg
#5

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

130 ms totalt · 3 externa anrop · v20260731065814-full.beb2e261
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)