ilch Forum » Allgemein » HTML, PHP, SQL,... » Schedule

Geschlossen
  1. #1
    User Pic
    Thousandhands Mitglied
    Registriert seit
    02.10.2006
    Beiträge
    1.250
    Beitragswertungen
    0 Beitragspunkte
    Hallo Leute,
    Ich bin dabei mit meinem Halbwissen einen Planer mit ToDo Liste und Kalender zu bastelln.
    Also vorlage nehme ich ilch datein, da ich kaum befehle auswendig kann - ich versteh die meisten sachen aber halt.

    Naja, und weil mairu und hex zu viel zu tun haben im moment bin ich nun hängen geblieben bei diesem fehler:
    Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /var/www/web9/html/org/mysql.php on line 61
    [auch noch mal nachzuschauen auf der unten angebenen seite]

    also ich geb nun einfach mal paar daten von wichtigen datein:
    mysql.php
    <?php
    
    # Org. Datei (C) by ilch.de - Manuel
    
    $count_query_xyzXYZ = 0;
    
    function db_connect () {
      if (defined('CONN')) {
        return;
      }
      define ( 'CONN', @mysql_pconnect(DBHOST, DBUSER, DBPASS));
      $db = @mysql_select_db(DBDATE, CONN);
    
      if (!CONN) {
        die('<div id="bigwrap">Verbindung nicht m&ouml;glich!<br/>Entweder ist der Datenbankserver offline oder die hinterlegten Daten sind falsch.</div>');
      }
      if ( !$db ) {
        die ('Kann Datenbank "'.DBDATE.'" nicht benutzen : ' . mysql_error(CONN));
      }
    }
    
    function db_close () {
      mysql_close ( CONN );
    }
    
    function db_check_error (&$r, $q) {
      if (!$r AND mysql_errno(CONN) <> 0 AND function_exists('is_coadmin') AND is_coadmin()) {
      	// var_export (debug_backtrace(), true)
        echo('<font color="#FF0000">MySQL Error:</font><br>'.mysql_errno(CONN).' : '.mysql_error(CONN).'<br>in Query:<br>'.$q.'<pre>'.debug_bt().'</pre>');
      }
      return ($r);
    }
    
    function db_query ($q) {
    
      global $count_query_xyzXYZ;
      $count_query_xyzXYZ++;
    
      if (preg_match ("/^UPDATE `?prefix_\S+`?\s+SET/is", $q)) {
        $q = preg_replace("/^UPDATE `?prefix_(\S+?)`?([\s\.,]|$)/i","UPDATE `".DBPREF."\\1`\\2", $q);
      } elseif (preg_match ("/^INSERT INTO `?prefix_\S+`?\s+[a-z0-9\s,\)\(]*?VALUES/is", $q)) {
        $q = preg_replace("/^INSERT INTO `?prefix_(\S+?)`?([\s\.,]|$)/i", "INSERT INTO `".DBPREF."\\1`\\2", $q);
      } else {
        $q = preg_replace("/prefix_(\S+?)([\s\.,]|$)/", DBPREF."\\1\\2", $q);
      }
    
      return (db_check_error(@mysql_query($q, CONN), $q));
    }
    
    function db_result ($dba, $zeile=0, $spalte=0) {
    	return (mysql_result ($dba,$zeile,$spalte));
    }
    
    function db_fetch_assoc ($dba) {
    	return (mysql_fetch_assoc($dba));
    }
    
    function db_fetch_row ($dba) {
    	return (mysql_fetch_row($dba));
    }
    
    function db_fetch_object ($dba) {
    	return (mysql_fetch_object($dba));
    }
    
    function db_num_rows ($dba) {
    	return (mysql_num_rows ($dba));
    }
    
    function db_last_id () {
    	return ( mysql_insert_id (CONN));
    }
    
    function db_count_query ( $query ) {
    	return (db_result(db_query($query),0));
    }
    
    function db_list_tables ( $db ) {
    	return (mysql_list_tables ($db, CONN));
    }
    
    function db_tablename ($db, $i) {
    	return (mysql_tablename ($db, $i));
    }
    
    function db_check_dba ($dba) {
      if ($dba == false OR @db_num_rows($dba) == 0) {
        exit ('Es ist ein Fehler aufgetreten');
      }
    }
    
    function db_make_sites ($page ,$where ,$limit ,$link ,$table, $anzahl = NULL) {
    
      $hvmax = 4; // hinten und vorne links nach page
    	$maxpage = ''; if ( empty ($MPL) ) { $MPL = ''; }
    	if ( is_null ( $anzahl ) ) {
        $resultID = db_query ( "SELECT COUNT(*) FROM prefix_".$table." ".$where );
        $total    = db_result($resultID,0);
      } else {
        $total = $anzahl;
      }
      if ($limit < $total) {
    	  $maxpage = $total / $limit;
    	  if (is_double($maxpage)) {
    		  $maxpage = ceil($maxpage);
    		}
    		$ibegin = $page - $hvmax;
    		$iende  = $page + $hvmax ;
    
    	  $vgl1 = $iende + $ibegin;
    		$vgl2 = ($hvmax * 2) + 1;
    		if ( $vgl1 <= $vgl2 ) {
    		  $iende = $vgl2;
    		}
    		$vgl3 = $maxpage - ($vgl2 -1);
    		if ($vgl3 < $ibegin ) {
    		  $ibegin = $vgl3;
    		}
    
    		if ($ibegin < 1) {
    		  $ibegin = 1;
    		}
    		if ($iende > $maxpage) {
    		  $iende = $maxpage;
    		}
    		$vMPL = '';
    		if ($ibegin > 1) {
    		  $vMPL = '<a href="'.$link.'-p1">&laquo;</a> ';
    		}
    		$MPL = $vMPL.'[ ';
    		for($i=$ibegin; $i <= $iende; $i++) {
          if($i == $page) {
    				$MPL .= $i;
    			} else {
    			  $MPL .= '<a href="'.$link.'-p'.$i.'">'.$i.'</a>';
    			}
          if ($i != $iende) {
    			  $MPL .= ' | ';
    			}
    		}
    		$MPL .= ' ]';
    		if ($iende < $maxpage) {
    		  $MPL .= ' <a href="'.$link.'-p'.$maxpage.'">&raquo;</a>';
    		}
      }
    	return $MPL;
    
    }
    ?>


    todolist.php
    <?php
    
    ### Script based on ILCH.de (C) by Manuel
    
    ### pri = DB Spalte Prioritaet
    ### pro = DB Spalte Progress/Fortschritt
    ### tit = DB Spalte Titel
    ### det = DB Spalte Details
    
    echo '<table width="100%" border="0" cellpadding="2" cellspacing="1">';
    $dba = db_query('SELECT * FROM prefix_todo ORDER BY pri DESC GROUP BY pri'); ### Einträge sollen nach der Prioritaet gruppiert werden - alle wichtigen Eintraege ganz oben etc.
    while ($row = db_fetch_object($dba) ) {
    
    if ($row->pri == 1) {
    	$icon = 'img/pricon_01.gif';
    } elseif ($row->pri == 2) {
    	$icon = 'img/pricon_02.gif';
    } elseif ($row->pri == 3) {
    	$icon = 'img/pricon_03.gif';
    } elseif ($row->pri == 4) {
    	$icon = 'img/pricon_04.gif';
    } elseif ($row->pri == 5) {
    	$icon = 'img/pricon_05.gif';
    } elseif ($row->pri == 6) {
    	$icon = 'img/pricon_06.gif';
    } elseif ($row->pri == 7) {
    	$icon = 'img/pricon_07.gif';
    } elseif ($row->pri == 8) {
    	$icon = 'img/pricon_08.gif';
    } elseif ($row->pri == 9) {
    	$icon = 'img/pricon_09.gif';
    }
    
    if ($row->pro == 0) {
    	$minus = '<img src="img/minus_da.gif" width="5" height="5"/>';
    	$plus = '<a href="#"><img src="img/plus.gif" width="5" height="5"/></a>';
    } elseif ($row->pro == 90) {
    	$minus = '<a href="#"><img src="img/minus.gif" width="5" height="5"/></a>';
    	$plus = '<img src="img/plus_da.gif" width="5" height="5"/>';
    } else {
    	$minus = '<a href="#"><img src="img/minus.gif" width="5" height="5"/></a>';
    	$plus = '<a href="#"><img src="img/plus.gif" width="5" height="5"/></a>';
    }
    
    ###########################################################################
    ###########################################################################
    ###									###
    ###	Toggle JS - Es muss für jeden Eintrag soeinen Block geben,	###
    ###	der die ID vom Eintrag hat (1.Zeile)				###
    ###									###
    ###########################################################################
    ###########################################################################
    ###									###
    ###	echo 'var mySlide = new Fx.Slide('det'.$row->id.'').hide();'	###
    ###	echo '$('toggle').addEvent('click', function(e){		###
    ###	echo 'e = new Event(e);'					###
    ###	echo 'mySlide.toggle();'					###
    ###	echo 'e.stop();'						###
    ###	echo '});'							###
    ###									###
    ###########################################################################
    ###########################################################################
    
    ### Prioritaet-Icon
    echo '<tr class="" align="left" valign="middle"><td><img src="'.$icon.'" width="16" height="12"></td>';
    
    ### Titel mit Toggle-Link
    echo '<td><a id="toggle'.$row->id.'" href="#">'.$row->tit.'</a>';
    
    ### Div-Container mit der ID fuer JS - beinhaltet die Details
    echo '<div id="det'.$row->id.'">'.$row->det.'</div></td>';
    
    ### Anzeige des Fortschrittes in % - Mit icons zum erhoehen oder verringern des Wertes
    echo '<td><div class="pro">'.$row->pro.'</div><div>'.$plus.'</div><div>'.$minus.'</div></td>';
    
    ### Icons zum Bearbeiten und Loeschen des Eintrages
    echo '<td><a href="#"><img src="img/edit.gif" width="10" height="10"></a></td><td><a href="#"><img src="img/done.gif" width="10" height="10"></a></td></tr>';
    
    }
    echo '</table>';
    ?>


    in der index.php ist die config.php und die mysql.php eingebunden per require_once

    weiß wer hilfe?! zwinker

    betroffene Homepage: till.pixelbash.de/org/index.php
    Pion hat sich hier verewigt
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Hassmann Mitglied
    Registriert seit
    13.02.2008
    Beiträge
    1.591
    Beitragswertungen
    9 Beitragspunkte
    Wenn es keine Besondere Sache ist wird eine Zahlenabfrage so gestellt:

    if ($row->pri == '1') {
        $icon = 'img/pricon_01.gif';
    } elseif ($row->pri == '2') {
        $icon = 'img/pricon_02.gif';
    } elseif ($row->pri == '3') {
        $icon = 'img/pricon_03.gif';


    Also auch die Zahlen in ein ' und nicht ohne... weil wenn du buchstaben ohne machst kommt au nen fehler^^
    Sub2Go.NET | Kostenlosen Webspace mit vielen features! Für Ilch-Forumsmitglieder doppelten Speicher!
    Mave1993.de Blog
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Thousandhands Mitglied
    Registriert seit
    02.10.2006
    Beiträge
    1.250
    Beitragswertungen
    0 Beitragspunkte
    bin nun auch weiter danke,

    wie sieht der php code aus, um ein formular auszuwerten bzw. in die datenbank einzutragen?!

    ich hab ein input für einen titel, eins für details und eins für die priorität .. und natürlich auch jeweils eine spalte für die in der tabelle...
    Pion hat sich hier verewigt
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Nero Hall Of Fame
    Registriert seit
    12.11.2005
    Beiträge
    987
    Beitragswertungen
    0 Beitragspunkte
    @Hassmann
    stimmt leider überhaupt nicht... dies funktioniert nur in php oder in andere Programmier/Script Sprachen welche dynamische Typenerkennung haben (ka wie das genau heisst).
    Zahlen werden nie in Anführungszeichen geschrieben, sofern sie als Integer Typ weiter gebraucht werden.

    am besten siehst es, wenn du diesen code mal ausführst:
    <?php
    print_r(('1'===1));
    ?>

    es sollte false zurückgeben... was soviel heisst das '1' ungleich 1 ist zwinker.

    @Thousandhands
    deine ifelse sachen kannste einfacher mit switch lösen:
    switch($row->pri){
    case 1:$icon = 'img/pricon_01.gif';break;
    case 2:$icon = 'img/pricon_02.gif';break;
    case 3:$icon = 'img/pricon_03.gif';break;
    case 4:$icon = 'img/pricon_04.gif';break;
    }

    oder noch einfacher:
    if($row->pri>0 && $row->pri<10){
    $icon = 'img/pricon_0'.$row->pri.'.gif';
    }else{
      {abfangcode}
    }

    Mfg Nero


    Zuletzt modifiziert von Nero am 13.08.2008 - 16:00:11
    ilch-Portal coming soon lachen

    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Hassmann Mitglied
    Registriert seit
    13.02.2008
    Beiträge
    1.591
    Beitragswertungen
    9 Beitragspunkte
    @nero

    Dann dürfte ja nicht ein Code von mir gehen... lol?
    Sub2Go.NET | Kostenlosen Webspace mit vielen features! Für Ilch-Forumsmitglieder doppelten Speicher!
    Mave1993.de Blog
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    assault Hall Of Fame
    Registriert seit
    03.11.2006
    Beiträge
    2.925
    Beitragswertungen
    1 Beitragspunkte
    ZitatZitat geschrieben von Hassmann

    @nero

    Dann dürfte ja nicht ein Code von mir gehen... lol?


    php konvertiert strings automatisch zu ints (aber auch nur da, nicht bei bools oder die int-variante von bools)

    $var == $var2
    true: wenn die werte gleich sind (bsp: '1' == 1)

    $var === $var2
    true: wenn wert und typ gleich sind (bsp: false === false)
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu HTML, PHP, SQL,...

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten