kostenloser Webspace werbefrei: lima-city


Problem mit php update in MySQL

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    mmc

    mmc hat kostenlosen Webspace.

    Hallo,
    <?php
    session_start;
    include "../../../../config/mysql.inc.php";
    $content = $_POST['seite'];
    
    function naviUpdate()
    {
    	$navigationupdate = "UPDATE plugins SET nav_akt = '0'";
    	$navigationupdaten = mysql_query($navigationupdate);
    	
    	$navigationaktupdate = "UPDATE plugins SET nav_akt = '1' WHERE onklick_link = '$content'";
    	$navigationaktupdaten = mysql_query($navigationaktupdate);
    	}
    
    
    if($content == 'control')
    {
    	naviUpdate();
    	echo 'Controllzentrum';
    	include "../navigation.php";
    	}
    if($content == 'siteadmin')
    {
    	naviUpdate();
    	echo 'Siteadministration';
    	include "../navigation.php";
    	}
    ?>


    Was ist an diesem Code falsch, dass das zweite update "$navigationaktupdaten" nicht ausgeführt wird?

    Mfg
    mmc
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Bekommmst du eine Fehlermeldung?
  4. Entweder so:

    <?php
    session_start();
    
    include "../../../../config/mysql.inc.php";
    
    $content = $_POST['seite'];
    
    function naviUpdate()
    {
    
    	// Sieht für mich unnötig aus?
    	// @mysql_query("UPDATE plugins SET nav_akt = '0'");
    	global $content;
    	@mysql_query("UPDATE plugins SET nav_akt = '1' WHERE onklick_link = '".$content."'") or die(mysql_error());
    }
    
    if($content == 'control')
    {
    	naviUpdate();
    	echo 'Controllzentrum';
    	include "../navigation.php";
    }
    elseif($content == 'siteadmin')
    {
    	naviUpdate();
    	echo 'Siteadministration';
    	include "../navigation.php";
    }
    ?>


    Oder so:

    <?php
    session_start();
    
    include "../../../../config/mysql.inc.php";
    
    $content = $_POST['seite'];
    
    function naviUpdate($link)
    {
    
    	// Sieht für mich unnötig aus?
    	// @mysql_query("UPDATE plugins SET nav_akt = '0'");
    	@mysql_query("UPDATE plugins SET nav_akt = '1' WHERE onklick_link = '".$link."'") or die(mysql_error());
    }
    
    if($content == 'control')
    {
    	naviUpdate($content);
    	echo 'Controllzentrum';
    	include "../navigation.php";
    }
    elseif($content == 'siteadmin')
    {
    	naviUpdate($content);
    	echo 'Siteadministration';
    	include "../navigation.php";
    }
    ?>


    EDIT:

    Sollte es nicht eigentlich reichen, naviUpdate() direkt nach der Funktion auszuführen? Nicht, dass es ineffizient wäre, aber das spart sicherlich einige Zeilen Code :-D

    Beitrag zuletzt geändert: 19.5.2010 17:45:45 von fabo
  5. Wenn du wirklich alle nav_akts auf 0 setzen willst und nur die, die onklick_link = $content haben, auf eins setzen willst, kannst du das nutzen:
    mysql_query('UPDATE plugins SET nav_akt = (onklick_link = "'.$content.'")');

    (Wie immer, ungetestet)
  6. Um als erster mal deine Frage zu beantworten, du denkst nicht daran, dass $content in der Funktion nicht forhanden ist, du musst sie zuerst entweder mit global oder als Parameter einbeziehen!

  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!