Avatar billede t-hviid Nybegynder
24. november 2005 - 22:55 Der er 4 kommentarer og
1 løsning

Ret hvis tabel har indhold eller ikke

Mine bruger har mulighed for at ændre abonnement status og dette registrerer jeg også og ændre på min produkt tabel. Det fungerer også fint men hvis brugerne ikke har oprettet nogle produkter kommer der fejl. Jeg har prøvet med
if($totalRows_produkter > 0) {
if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "update")) {
  $updateSQL = sprintf("UPDATE produkter SET opret_dato=%s, abonnement=%s WHERE brugerID=$id",
                      GetSQLValueString($_POST['opret_dato'], "date"),
                      GetSQLValueString($_POST['abonnement'], "text"),
                      GetSQLValueString($_POST['id'], "int"));

Men den retter ikke i produkttabellen.

Er der nogle der kan hjælpe lidt på vej?
Avatar billede t-hviid Nybegynder
24. november 2005 - 22:56 #1
Her er resten af koden:

<?php require_once('../Connections/teaterprops_db.php'); ?><?php
// Buzz inet PHPLS06 - User Details
session_start();

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 = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
  $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if($totalRows_produkter > 0) {
if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "update")) {
  $updateSQL = sprintf("UPDATE produkter SET opret_dato=%s, abonnement=%s WHERE brugerID=$id",
                      GetSQLValueString($_POST['opret_dato'], "date"),
                      GetSQLValueString($_POST['abonnement'], "text"),
                      GetSQLValueString($_POST['id'], "int"));

  mysql_select_db($database_teaterprops_db, $teaterprops_db);
  $Result1 = mysql_query($updateSQL, $teaterprops_db) or die(mysql_error());

  $updateGoTo = "abonnement_rettet.php";
  if (isset($_SERVER['QUERY_STRING'])) {
    $updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?";
    $updateGoTo .= $_SERVER['QUERY_STRING'];
  }
}
  header(sprintf("Location: %s", $updateGoTo));
}

if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "update")) {
  $updateSQL = sprintf("UPDATE udlejer SET abonnement=%s, opret_dato=%s WHERE Id=%s",
                      GetSQLValueString($_POST['udlejer_abonnement'], "text"),
                      GetSQLValueString($_POST['udlejer_opret_dato'], "date"),
                      GetSQLValueString($_POST['udlejer_id'], "int"));

  mysql_select_db($database_teaterprops_db, $teaterprops_db);
  $Result1 = mysql_query($updateSQL, $teaterprops_db) or die(mysql_error());

  $updateGoTo = "/bruger/abonnement_rettet.php";
  if (isset($_SERVER['QUERY_STRING'])) {
    $updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?";
    $updateGoTo .= $_SERVER['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $updateGoTo));
}

$varSearch_rsUserDetails = "1";
if (isset($HTTP_SESSION_VARS['login'])) {
  $varSearch_rsUserDetails = (get_magic_quotes_gpc()) ? $HTTP_SESSION_VARS['login'] : addslashes($HTTP_SESSION_VARS['login']);
}
mysql_select_db($database_teaterprops_db, $teaterprops_db);
$query_rsUserDetails = sprintf("SELECT * FROM udlejer WHERE brugernavn = '%s'", $varSearch_rsUserDetails);
$rsUserDetails = mysql_query($query_rsUserDetails, $teaterprops_db) or die(mysql_error());
$row_rsUserDetails = mysql_fetch_assoc($rsUserDetails);
$totalRows_rsUserDetails = mysql_num_rows($rsUserDetails);

mysql_select_db($database_teaterprops_db, $teaterprops_db);
$query_produkter = "SELECT  produkter.id, produkter.abonnement, produkter.opret_dato, produkter.brugerID FROM produkter,udlejer WHERE produkter.brugerID = udlejer.id AND udlejer.brugernavn LIKE '".$_SESSION[login]."' ORDER BY overskrift";
$produkter = mysql_query($query_produkter, $teaterprops_db) or die(mysql_error());
$row_produkter = mysql_fetch_assoc($produkter);
$totalRows_produkter = mysql_num_rows($produkter);
?>
Avatar billede jakobdo Ekspert
25. november 2005 - 08:09 #2
Kunne du ikke lave et tjek om der være nogle produkter?
Hvis ikke, så stop med prøv at vis dem?
Avatar billede t-hviid Nybegynder
29. november 2005 - 14:03 #3
Tak for indlægget, det gav mig ide´ til at indhente oplysninger først i forløbet og så i valideringen af indtastede, tjekke om der var oprette 0 produkter, hvis det er tilfældet sendes man til en side der ikke opdaterer produkter. Lægger du et svar, så er der point for inspiration ;-)
Avatar billede jakobdo Ekspert
29. november 2005 - 14:05 #4
Svar!
Avatar billede jakobdo Ekspert
29. november 2005 - 14:26 #5
Takker for point!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester