mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Do 25.04.2024 15:38 Benutzername: Passwort: Auto-Login

Thema: [PHP+MySQL] Abfrage liefert nicht den ersten Wert? vom 04.04.2005


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> [PHP+MySQL] Abfrage liefert nicht den ersten Wert?
Seite: Zurück  1, 2, 3, 4, 5  Weiter
Autor Nachricht
lexynet

Dabei seit: 04.04.2005
Ort: Dessau
Alter: 43
Geschlecht: Männlich
Verfasst Mo 04.04.2005 14:39
Titel

Antworten mit Zitat Zum Seitenanfang

Dann nimm bitte mal volgenden Coad .. und poste mal die ausgaben

Code:

   <?php
   DB("SELECT * FROM Shop_Kategorien ORDER BY Sortierung ASC");
   print'<pre>';
   print '##########';
   print_r($DB_Daten);
   print '##########';
   print'</pre>';
?>
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
chrikle
Threadersteller

Dabei seit: 02.05.2002
Ort: NRW
Alter: 47
Geschlecht: Männlich
Verfasst Mo 04.04.2005 14:50
Titel

Antworten mit Zitat Zum Seitenanfang

Büdde schön:

Code:
##########Array
(
    [0] => 1
    [ID] => 1
    [1] => 1
    [Sortierung] => 1
    [2] => Shampoo
    [Kategorie] => Shampoo
)
##########


gruß
Chris
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
lexynet

Dabei seit: 04.04.2005
Ort: Dessau
Alter: 43
Geschlecht: Männlich
Verfasst Mo 04.04.2005 14:52
Titel

Antworten mit Zitat Zum Seitenanfang

da fehlt aber noch was .. oder hast du die einträge in der DB gelöscht ?
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
chrikle
Threadersteller

Dabei seit: 02.05.2002
Ort: NRW
Alter: 47
Geschlecht: Männlich
Verfasst Mo 04.04.2005 15:11
Titel

Antworten mit Zitat Zum Seitenanfang

Nö, hab isch net!

Das ist ja das merkwürdige.

Wobei er jetzt den ersten Wert immer ausgibt, und den zweiten nicht.
Dafür aber Leerzeilen. Ich weiß nicht, woran es liegt die Variabeln
$DB_Daten sind doch auf GLOABL, und erhalten doch eigentlich die
ganzen Werte von der $Anfrage. Oder nicht?
So sollte es doch sein, das die Variable so aussieht:

Code:

$DB_Daten = array("ID" => array("1","2"),
                             "Sortierung" => array("1","2"),
                            "Kategorie" => array("Shampoo", "body Lotion"));


Oder so ähnlich?

Und er bei der Ausgabe irgendwie die Daten nicht rdentlich wiedergibt,
vermute ich mal, das ind er Funktion an der Stelle:
Code:
   //Ist der Übergebene SQL-Befehl UPDATE oder INSERT soll natürlich kein auslesen der Daten geschehen.
   if((!eregi('UPDATE', $SQL, $werte)) AND (!eregi('INSERT', $SQL, $werte)))
   {
             $DB_Daten = mysql_fetch_array($Anfrage);
   }

Irgendein Mist passiert?


Kann man das vielleicht anders lösen?
Die DB-Funktion benutze ich für andere Scripts ebenfalls so, und da gab es eigentlich bisher
keine Fehler.

Gruß
Chris
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
eViLaSh

Dabei seit: 22.05.2003
Ort: Texas
Alter: 40
Geschlecht: Männlich
Verfasst Mo 04.04.2005 15:16
Titel

Antworten mit Zitat Zum Seitenanfang

also ich bin da jetzt leider überfragt * Keine Ahnung... *

keine ahnung an was das liegt!
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
lexynet

Dabei seit: 04.04.2005
Ort: Dessau
Alter: 43
Geschlecht: Männlich
Verfasst Mo 04.04.2005 15:17
Titel

Antworten mit Zitat Zum Seitenanfang

kannst du den quelltext mal im geammten posten ... oder schick ihn mir per mail .. dann schau ich ihn mir mal an ... stephan@stoetzer.de
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
chrikle
Threadersteller

Dabei seit: 02.05.2002
Ort: NRW
Alter: 47
Geschlecht: Männlich
Verfasst Mo 04.04.2005 19:23
Titel

Antworten mit Zitat Zum Seitenanfang

eViLaSh hat geschrieben:
also ich bin da jetzt leider überfragt * Keine Ahnung... *

keine ahnung an was das liegt!


Danke dir trotzdem für deine Zeit!

@lexynet
im Prinzip gibts da nicht mehr, als das was ich bisher gepostet habe.

hier nochmal im Detail.

So funktioniert es nicht:
Code:

function DB($SQL)
{
   global $DB_Leitung, $DB_Daten, $Anfrage;
     
   //Datenbankzugangsdaten
   $DB_Benutzer = "XXXX";
   $DB_Passwort = "XXXX";
   $DB_Pfad = "localhost";
   $DB_Datenbank = "XXXX";   

   $DB_Leitung = @mysql_connect($DB_Pfad, $DB_Benutzer, $DB_Passwort);
   if(false === $DB_Leitung)
   {
      die("Kann keine Verbindung zur Datenbank herstellen");
   }
   
   $DB_Auswahl = mysql_select_db($DB_Datenbank, $DB_Leitung);
   if(false === $DB_Auswahl)
   {
      die("Kann keine Verbindung zur Datenbank herstellen");
   }

   $Anfrage = mysql_query($SQL, $DB_Leitung);
   
   //Ist der Übergebene SQL-Befehl UPDATE oder INSERT soll natürlich kein auslesen der Daten geschehen.
   if((!eregi('UPDATE', $SQL, $werte)) AND (!eregi('INSERT', $SQL, $werte)))
   {
             $DB_Daten = mysql_fetch_array($Anfrage);
   }
   mysql_close($DB_Leitung);
}


//Ausgabe irgendwo im body
   DB("SELECT * FROM Shop_Kategorien ORDER BY Sortierung ASC");
   
   $Anzahl = count($DB_Daten);
   echo("Anzahl: ".$Anzahl."<br>");

      echo('<table {....}>');

   for($x=0; $x < $Anzahl; $x++)
   {
      echo('<tr>');
      echo('<td width="97%">'.$DB_Daten[$x].'</td>');
      echo('<td width="1%">Vor</td>');
      echo('<td width="1%">Zur&uuml;ck</td>');
      echo('<td width="1%">Bearbeiten</td>');
      echo('</tr>');
   }
      echo('</table>')


und so (direkt) funktionierts:
Code:

   //Datenbankzugangsdaten
   $DB_Benutzer = "XXXX";
   $DB_Passwort = "XXXX";
   $DB_Pfad = "localhost";
   $DB_Datenbank = "XXXX";   

   $DB_Leitung = @mysql_connect($DB_Pfad, $DB_Benutzer, $DB_Passwort);
   if(false === $DB_Leitung)
   {
      die("Kann keine Verbindung zur Datenbank herstellen");
   }
   
   $DB_Auswahl = mysql_select_db($DB_Datenbank, $DB_Leitung);
   if(false === $DB_Auswahl)
   {
      die("Kann keine Verbindung zur Datenbank herstellen");
   }

   $Anfrage = mysql_query("SELECT * FROM Shop_Kategorien ORDER BY Sortierung ASC", $DB_Leitung);
   
   $DB_Daten = mysql_fetch_array($Anfrage);

   mysql_close($DB_Leitung);
   
   $Anzahl = count($DB_Daten);
   echo("Anzahl: ".$Anzahl."<br>");

      echo('<table {....}>');

   for($x=0; $x < $Anzahl; $x++)
   {
      echo('<tr>');
      echo('<td width="97%">'.$DB_Daten[$x].'</td>');
      echo('<td width="1%">Vor</td>');
      echo('<td width="1%">Zur&uuml;ck</td>');
      echo('<td width="1%">Bearbeiten</td>');
      echo('</tr>');
   }
      echo('</table>')


Da ich nicht auf die Funktion verzichten möchte, muß es doch sicherlich eine
Lösung geben das "mysql_fetch_array" die Werte richtig übergibt?

Ich hab einfach schon zuviel rumgedoktert. Ich brauch erstmal wieder nen freien Kopf Grins

Aber vielleicht hat ja jemand ne Lösung?
Wäre jedenfalls sehr dankbar dafür * Ja, ja, ja... *

Gruß
Chris


Zuletzt bearbeitet von chrikle am Mo 04.04.2005 19:25, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
chrikle
Threadersteller

Dabei seit: 02.05.2002
Ort: NRW
Alter: 47
Geschlecht: Männlich
Verfasst Mo 04.04.2005 21:13
Titel

Antworten mit Zitat Zum Seitenanfang

Habs raus gefunden! *froi*

Es lag tatsächlich daran, das in der Funktion $DB_Daten = mysql_fetch_array($Anfrage); stand.
Dadurch hat er den DB-Cursor schon um eine Position verschoben. * Ich geb auf... *

Hab die Funktion umgeschrieben:
Code:

function DB($SQL)
{
   global $DB_Anfrage;
   //Datenbankzugangsdaten Strato
   $DB_Benutzer = "XXXX";
   $DB_Passwort = "XXXX";
   $DB_Pfad = "localhost";
   $DB_Datenbank = "XXXX";   

   $DB_Leitung = @mysql_connect($DB_Pfad, $DB_Benutzer, $DB_Passwort);
   if(false === $DB_Leitung)
   {
      die("Kann keine Verbindung zur Datenbank herstellen");
   }
   
   $DB_Auswahl = mysql_select_db($DB_Datenbank, $DB_Leitung);
   if(false === $DB_Auswahl)
   {
      die("Kann keine Verbindung zur Datenbank herstellen");
   }
   
   $DB_Anfrage = mysql_query($SQL, $DB_Leitung);

   mysql_close($DB_Leitung);
}


und an der entsprechenden Position frage ich dann erst die Werte ab:
Code:

DB("SELECT Kategorie FROM Shop_Kategorien ORDER BY Sortierung ASC");
   
  while($TEMP_Daten = mysql_fetch_array($DB_Anfrage))
   {
      echo('<tr>');
      echo('<td width="97%">'.$TEMP_Daten['Kategorie'].'</td>');
      echo('<td width="1%">Vor</td>');
      echo('<td width="1%">Zur&uuml;ck</td>');
      echo('<td width="1%">Bearbeiten</td>');
      echo('</tr>');
   }


PUH! geschafft! Meist sind es nur einfache Dinge, die man übersieht *hu hu huu*

Ich danke Allen, die mir versucht haben zu helfen! *Thumbs up!*

Gruß
Chris
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ähnliche Themen (php-mysql) übergabe von formulardaten und abfrage m. mysql
MySQL Abfrage
[php+mysql] abfrage von x bis y
MySql abfrage
Fehler bei mySQL abfrage
[PHP]Problem mit Mysql Abfrage
Neues Thema eröffnen   Neue Antwort erstellen Seite: Zurück  1, 2, 3, 4, 5  Weiter
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.