webForumDet fria alternativet
Logga in / Bli medlem

hittar bara 1:a artikeln

PHP

4 svar · 264 visningar · startad av supinum

Medlem sedan feb. 2003115 inlägg
Trådstart#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

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

Medlem 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);
?>
Medlem 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);
?>
Medlem sedan juli 200012 978 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

261 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)
113 ms — ändringar (db)