PHP+MySQL

Hallo,

  1. meine DB spuckt nicht alle Daten aus der DB, liegt dies an meiner while-Schleife???
<?php # $Id: view_entry.php,v 1.16.2.2 2008/01/28 15:50:14 jberanek Exp $
require\_once "grab\_globals.inc.php"; include "config.inc.php"; include "functions.inc"; include "$dbsys.inc"; #If we dont know the right date then make it up /\*if(!isset($day) or !isset($month) or !isset($year)) { $day = date("d"); $month = date("m"); $year = date("Y"); }\*/ /\*if(empty($area)) $area = get\_default\_area();\*/ print\_header($day, $month, $year, $area); /\*if( empty($series) ) { $series = 0; } $series = 1; else { }\*/ //$day = date("d"); $sql = "SELECT start\_time, end\_time, (end\_time - start\_time), $tbl\_entry.firma, $tbl\_entry.contact, $tbl\_entry.description, name, $tbl\_room.room\_name, $tbl\_entry.catering\_index, $tbl\_entry.drive FROM $tbl\_entry, $tbl\_room WHERE $tbl\_entry.room\_id = $tbl\_room.id "; //WHERE timestamp \>= '" . $day . "' ORDER BY timestamp ASC $res = sql\_query($sql); if (! $res) fatal\_error(0, sql\_error()); $row\_count = 0; # Note: Removed stripslashes() calls from name and description. Previous # versions of MRBS mistakenly had the backslash-escapes in the actual database # records because of an extra addslashes going on. Fix your database and # leave this code alone, please. while($row=mysql\_fetch\_array($res)) { if( $enable\_periods ) list( $start\_period, $start\_date) = period\_date\_string($row[0]); else $start\_date = time\_date\_string($row[0]); if( $enable\_periods ) list( , $end\_date) = period\_date\_string($row[1], -1); else $end\_date = time\_date\_string($row[1]); $duration = $row[2] - cross\_dst($row[0], $row[1]); $firma = htmlspecialchars($row[3]); $description = htmlspecialchars($row[4]); $contact = htmlspecialchars($row[5]); $name = htmlspecialchars($row[6]); $room = htmlspecialchars($row[7]); $catering\_index = htmlspecialchars($row[8]); $drive = htmlspecialchars($row[9]); $row\_count++; } $enable\_periods ? toPeriodString($start\_period, $duration, $dur\_units) : toTimeString($duration, $dur\_units); ?\> <?php echo get_vocab("visitor") ?>

<?php echo get_vocab("start_date") ?>
<?php echo get_vocab("end_date") ?>
<?php echo get_vocab("duration") ?>
<?php echo get_vocab("firma") ?>
<?php echo get_vocab("description") ?>
<?php echo get_vocab("contact")?>
<?php echo get_vocab("namebooker")?>
<?php echo get_vocab("room")?>
<?php echo get_vocab("catering_index")?>
<?php echo get_vocab("drive")?>

<?php echo $start_date ?> <?php echo $end_date ?> <?php echo $duration . " " . $dur_units ?> <?php echo nl2br($firma) ?> <?php echo nl2br($contact) ?> <?php echo nl2br($description) ?> <?php echo nl2br($name) ?> <?php echo nl2br($room) ?> <?php if ($catering_index == 0)
{ echo get\_vocab("catering\_index\_0"); } elseif ($catering\_index == 1) { echo get\_vocab("catering\_index\_1"); } elseif ($catering\_index == 2) { echo '[Erweiterte Bewirtung'; } ?\> echo get\_vocab("NO") ; ...](bewirtung.php) <?php }
include "trailer.inc"; ?\> 2) Ich möchte alle Daten ab dem heutigen Zeitpunkt sehen (hat was mit timestamp zu tun???) Wie bekomme ich das denn hin???? Vielen Dank!!!!

Hallo,

  1. meine DB spuckt nicht alle Daten aus der DB, liegt dies an
    meiner while-Schleife???

while($row=mysql_fetch_array($res))
{
$duration = $row[2] - cross_dst($row[0], $row[1]);
$firma = htmlspecialchars($row[3]);
$description = htmlspecialchars($row[4]);
$contact = htmlspecialchars($row[5]);
$name = htmlspecialchars($row[6]);
$room = htmlspecialchars($row[7]);
$catering_index = htmlspecialchars($row[8]);
$drive = htmlspecialchars($row[9]);
$row_count++;
}

also , selbst wenn du millionen datensätze bekommst, überschreibst du immer die gleichen werte ohne was zu tun . Du musst also schon innerhalb des whiles die variaben verarbeiten , oder mit arrays arbeiten um bei jedem datensatz eine handlung zu erzeugen.

am ende ist nur noch der letzte datensatz übrig und der row_counter hochgezählt , warum auch immer, rows kann man einfach vom result bekommen, siehe int mysql_num_rows ( resource $result )

Hallo, vielen Dank für Deine Hilfe!!!

Ich habe aber schon alles ausprobiert, es geht einfach irgendwie nicht!!!

Was genau soll ich denn machen??? Bin schon ganz am Verzweifeln!!!

DankE!!!

Hallo, vielen Dank für Deine Hilfe!!!

Ich habe aber schon alles ausprobiert, es geht einfach
irgendwie nicht!!!

Was genau soll ich denn machen??? Bin schon ganz am
Verzweifeln!!!

Wie ich schon gesagt habe , die while schleife endet zu früh.

Alles was du wiederholt ausgeben willst muss in die Klammer rein .

aha, ok, Danke, das werde ich mal ausprobieren. Vielen DANK!!!

Hallo, es geht leider nicht!!!

Was mache ich da falsch??? Ich setze die Ausgabe in Klammer!!! Aber nix!!!

Hallo, es geht leider nicht!!!

Was mache ich da falsch??? Ich setze die Ausgabe in Klammer!!!
Aber nix!!!

wo ist der code ?

noch ist nix mit hellsehen , auch ist hacken heut nicht das thema :smile:

also post mal was du gemcht hast :smile:

also post mal was du gemcht hast :smile:

und die datenbank tabellen brauch ich auch dazu .

<?php # $Id: view_entry.php,v 1.16.2.2 2008/01/28 15:50:14 jberanek Exp $
require\_once "grab\_globals.inc.php"; include "config.inc.php"; include "functions.inc"; include "$dbsys.inc"; #If we dont know the right date then make it up /\*if(!isset($day) or !isset($month) or !isset($year)) { $day = date("d"); $month = date("m"); $year = date("Y"); }\*/ /\*if(empty($area)) $area = get\_default\_area();\*/ print\_header($day, $month, $year, $area); /\*if( empty($series) ) { $series = 0; } $series = 1; else { }\*/ //$day = date("d"); $sql = "SELECT start\_time, end\_time, (end\_time - start\_time), $tbl\_entry.firma, $tbl\_entry.contact, $tbl\_entry.description, name, $tbl\_room.room\_name, $tbl\_entry.catering\_index, $tbl\_entry.drive FROM $tbl\_entry, $tbl\_room WHERE $tbl\_entry.room\_id = $tbl\_room.id "; //WHERE timestamp \>= '" . $day . "' ORDER BY timestamp ASC $res = sql\_query($sql); if (! $res) fatal\_error(0, sql\_error()); $row\_count = 0; # Note: Removed stripslashes() calls from name and description. Previous # versions of MRBS mistakenly had the backslash-escapes in the actual database # records because of an extra addslashes going on. Fix your database and # leave this code alone, please. while($row=mysql\_fetch\_array($res)) { if( $enable\_periods ) list( $start\_period, $start\_date) = period\_date\_string($row[0]); else $start\_date = time\_date\_string($row[0]); if( $enable\_periods ) list( , $end\_date) = period\_date\_string($row[1], -1); else $end\_date = time\_date\_string($row[1]); $duration = $row[2] - cross\_dst($row[0], $row[1]); $firma = htmlspecialchars($row[3]); $description = htmlspecialchars($row[4]); $contact = htmlspecialchars($row[5]); $name = htmlspecialchars($row[6]); $room = htmlspecialchars($row[7]); $catering\_index = htmlspecialchars($row[8]); $drive = htmlspecialchars($row[9]); $row\_count++; } $enable\_periods ? toPeriodString($start\_period, $duration, $dur\_units) : toTimeString($duration, $dur\_units); ?\> <?php echo get_vocab("visitor") ?> <?php echo get_vocab("start_date") ?> <?php echo get_vocab("end_date") ?> <?php echo get_vocab("duration") ?> <?php echo get_vocab("firma") ?> <?php echo get_vocab("description") ?> <?php echo get_vocab("contact")?> <?php echo get_vocab("namebooker")?> <?php echo get_vocab("room")?> <?php echo get_vocab("catering_index")?> <?php echo get_vocab("drive")?> <?php echo $start_date ?> <?php echo $end_date ?> <?php echo $duration . " " . $dur_units ?> <?php echo nl2br($firma) ?> <?php echo nl2br($contact) ?> <?php echo nl2br($description) ?> <?php echo nl2br($name) ?> <?php echo nl2br($room) ?> <?php if ($catering_index == 0)
{ echo get\_vocab("catering\_index\_0"); } elseif ($catering\_index == 1) { echo get\_vocab("catering\_index\_1"); } elseif ($catering\_index == 2) { echo 'Erweiterte Bewirtung'; } ?\> <?php if($drive == 0) {
echo get\_vocab("NO") ; } else { echo get\_vocab("YES"); } ?\> <?php if (isset($HTTP_REFERER)) //remove the link if displayed from an email
{ ?\> <?php }
include "trailer.inc"; ?\> bin nun durcheinander, deswegen alte Code!!!

bin nun durcheinander, deswegen alte Code!!!

hilft ja wenig, ausserdem weiss ich immer noch nicht wie deine tabellen aussehen , bekommst du mit dem SQL kommando auch wirklich mehrer Zeilen ?
Erstmal ausprobieren , nicht das der query schon falsch ist , gell.

<?php # $Id: view_entry.php,v 1.16.2.2 2008/01/28 15:50:14 jberanek Exp $<br />require\_once "grab\_globals.inc.php";
include "config.inc.php";
include "functions.inc";
include "$dbsys.inc";
print\_header($day, $month, $year, $area);
$sql = "SELECT start\_time, end\_time, (end\_time - start\_time), $tbl\_entry.firma, $tbl\_entry.contact, $tbl\_entry.description, name, $tbl\_room.room\_name, $tbl\_entry.catering\_index, $tbl\_entry.drive FROM $tbl\_entry, $tbl\_room WHERE $tbl\_entry.room\_id = $tbl\_room.id ";
//WHERE timestamp \>= '" . $day . "' ORDER BY timestamp ASC
$res = sql\_query($sql);
if (! $res) fatal\_error(0, sql\_error());
$row\_count = 0;
while($row=mysql\_fetch\_array($res))
{ // Anfang wiederholung pro eingelesene reihe
 **if( $enable\_periods )  
 list( $start\_period, $start\_date) = period\_date\_string($row[0]);  
 else  
 $start\_date = time\_date\_string($row[0]);  
 if( $enable\_periods )  
 list( , $end\_date) = period\_date\_string($row[1], -1);  
 else  
 $end\_date = time\_date\_string($row[1]);  
 $duration = $row[2] - cross\_dst($row[0], $row[1]);  
 $firma = htmlspecialchars($row[3]);  
 $description = htmlspecialchars($row[4]);  
 $contact = htmlspecialchars($row[5]);  
 $name = htmlspecialchars($row[6]);  
 $room = htmlspecialchars($row[7]);  
 $catering\_index = htmlspecialchars($row[8]);  
 $drive = htmlspecialchars($row[9]);  
 $row\_count++;**  
} // Ende wiederholung pro eingelesene reihe
$enable\_periods ? toPeriodString($start\_period, $duration, $dur\_units) : toTimeString($duration, $dur\_units);
?\>
<?php echo get_vocab("visitor") ?>
<?php echo get_vocab("start_date") ?> <?php echo get_vocab("end_date") ?> <?php echo get_vocab("duration") ?> <?php echo get_vocab("firma") ?> <?php echo get_vocab("description") ?> <?php echo get_vocab("contact")?> <?php echo get_vocab("namebooker")?> <?php echo get_vocab("room")?> <?php echo get_vocab("catering_index")?> <?php echo get_vocab("drive")?> <?php echo $start_date ?> <?php echo $end_date ?> <?php echo $duration . " " . $dur_units ?> <?php echo nl2br($firma) ?> <?php echo nl2br($contact) ?> <?php echo nl2br($description) ?> <?php echo nl2br($name) ?> <?php echo nl2br($room) ?> <?php if ($catering_index == 0) { echo get_vocab("catering_index_0"); }
elseif ($catering\_index == 1) { echo get\_vocab("catering\_index\_1"); } elseif ($catering\_index == 2) { echo 'Erweiterte Bewirtung'; } ?\> <?php if($drive == 0) { echo get_vocab("NO") ;
} else { echo get\_vocab("YES");} ?\> <?php if (isset($HTTP_REFERER)) //remove the link if displayed from an email
{ ?\><?php }
include "trailer.inc"; ?\> oben sieht du den schwarzen teil der wiederholt wird . ausser das du immer den gleichen variablen andere werte zuweist , und keine ausgabe machst, bleibt am ende in den vairablen nur die letzte eingelsene reihe vom sql ergebnis. die untere klammer (// Ende wiederholung pro eingelesene reihe) muss also viel weiter runter , ich mach mal ein beispiel <?php # $Id: view_entry.php,v 1.16.2.2 2008/01/28 15:50:14 jberanek Exp $
require\_once "grab\_globals.inc.php"; include "config.inc.php"; include "functions.inc"; include "$dbsys.inc"; print\_header($day, $month, $year, $area); $sql = "SELECT start\_time, end\_time, (end\_time - start\_time), $tbl\_entry.firma, $tbl\_entry.contact, $tbl\_entry.description, name, $tbl\_room.room\_name, $tbl\_entry.catering\_index, $tbl\_entry.drive FROM $tbl\_entry, $tbl\_room WHERE $tbl\_entry.room\_id = $tbl\_room.id "; //WHERE timestamp \>= '" . $day . "' ORDER BY timestamp ASC $res = sql\_query($sql); if (! $res) fatal\_error(0, sql\_error()); $row\_count = 0; while($row=mysql\_fetch\_array($res)) { // Anfang wiederholung pro eingelesene reihe **if( $enable\_periods ) list( $start\_period, $start\_date) = period\_date\_string($row[0]); else $start\_date = time\_date\_string($row[0]); if( $enable\_periods ) list( , $end\_date) = period\_date\_string($row[1], -1); else $end\_date = time\_date\_string($row[1]); $duration = $row[2] - cross\_dst($row[0], $row[1]); $firma = htmlspecialchars($row[3]); $description = htmlspecialchars($row[4]); $contact = htmlspecialchars($row[5]); $name = htmlspecialchars($row[6]); $room = htmlspecialchars($row[7]); $catering\_index = htmlspecialchars($row[8]); $drive = htmlspecialchars($row[9]); $row\_count++; $enable\_periods ? toPeriodString($start\_period, $duration, $dur\_units) : toTimeString($duration, $dur\_units); ?\> <?php echo get_vocab("visitor") ?>
<?php echo get_vocab("start_date") ?>  
<?php echo get_vocab("end_date") ?>  
<?php echo get_vocab("duration") ?>  
<?php echo get_vocab("firma") ?>  
<?php echo get_vocab("description") ?>  
<?php echo get_vocab("contact")?>  
<?php echo get_vocab("namebooker")?>  
<?php echo get_vocab("room")?>  
<?php echo get_vocab("catering_index")?>  
<?php echo get_vocab("drive")?>  
<?php echo $start_date ?>  
<?php echo $end_date ?>  
<?php echo $duration . " " . $dur_units ?>  
<?php echo nl2br($firma) ?>  
<?php echo nl2br($contact) ?>  
<?php echo nl2br($description) ?>  
<?php echo nl2br($name) ?>  
<?php echo nl2br($room) ?>  
  
<?php if ($catering_index == 0) { echo get_vocab("catering_index_0"); } <br /> elseif ($catering\_index == 1) { echo get\_vocab("catering\_index\_1"); }  
 elseif ($catering\_index == 2) { echo 'Erweiterte Bewirtung'; }  
 ?\>  
  
<?php if($drive == 0) { echo get_vocab("NO") ;<br /> } else { echo get\_vocab("YES");}   
 ?\>**  
<?php } // Ende wiederholung pro eingelesene reihe<br />?\><?php if (isset($HTTP_REFERER)) //remove the link if displayed from an email<br />{ 
 ?\><?php }<br />include "trailer.inc"; 
?\>

jetzt wird der ganze schwarze bereich immer wieder ausgeführt, somit auch die tabelle immer wieder ausgegeben mit neuen werten .

Mehr kann man nicht helfen, da du faul bist, weder machst du ein beispiel deiner tabellen , noch eine beispiel ausgabe , obwohl ich darum gebeten habe . Nett ist das nicht .

P.S. Sollte dir die nötige zeit fehlen, fehlt sie mir auch .

Hallo,

habe es geschafft!!!Danke für Deine Unterstützung!!!