mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 29.03.2024 03: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
gtz

Dabei seit: 15.04.2002
Ort: -
Alter: 48
Geschlecht: Männlich
Verfasst Mo 04.04.2005 10:33
Titel

Antworten mit Zitat Zum Seitenanfang

wenn er erwartet, dass 3 datensätze vorhanden sind, dann hat sich sein problem soeben in luft aufgelöst.
  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 10:38
Titel

Antworten mit Zitat Zum Seitenanfang

aber er hat doch gesagt, das der 1. datensatz einfach nicht ausgegeben wird... * Keine Ahnung... *

naja keine Ahnung - wenn er sich natürlich falsch ausdrückt Grins
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
chrikle
Threadersteller

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

Antworten mit Zitat Zum Seitenanfang

Nö, das ist schon so, das die Datenbank 2 Einträge hat.
Er gibt aber über die WHILE-Schleife nur den 2. aus.

Das wurde von eViLaSh richtig interpretiert.

Gruß
Chris
  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 12:10
Titel

Antworten mit Zitat Zum Seitenanfang

Ich hab es jatzt mal auf einen anderen Server probiert. Da das gleiche Ergebnis.

Dann habe ich es mal als ein ganz einfaches Script geschrieben. Sprich alles untereinander weg.
- DB öffnen
- DB auslesen
- Werte übergeben
- Werte mittels while-Schleife ausgeben

und siehe da, es funktioniert?!?

Das ursrpüngliche Script ist gesplittet. Sprich die DB-Geschichte wir per function abgewickelt.
hier mal das Script:
Code:
function DB($SQL)
{
   global $DB_Leitung, $DB_Daten, $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");
   }

   $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);
}


und die Ausgabe ist ja schon bekannt. Es scheint daran zu liegen, das in dieser Zeile:
Code:
      $DB_Daten = mysql_fetch_array($Anfrage);

Die Werte zwar übergeben werden, aber irgendwie nicht sauber?


ich habe mal folgendes geschrieben (in kombination mit der function):
Code:

<?php
   DB("SELECT * FROM Shop_Kategorien ORDER BY Sortierung ASC");
   
   $Anzahl = count($DB_Daten);
   echo("Anzahl: ".$Anzahl."<br>");

   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>');
   }
?>


Das kommt dabei heraus:
Code:
Anzahl: 6
 1 Vor Zurück Bearbeiten
1 Vor Zurück Bearbeiten
Shampoo Vor Zurück Bearbeiten
 Vor Zurück Bearbeiten
 Vor Zurück Bearbeiten
 Vor Zurück Bearbeiten


Also, er hat zwar den Platz für den zweiten DB-Eintrag reserviert, aber er gibt nur "LEERZEILEN" aus.
Wieso? Au weia! kann mir da jemand weiterhelfen?

Gruß
Chris
  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 12:42
Titel

Antworten mit Zitat Zum Seitenanfang

Andere das bitte mal volgendermaßen ab .. und poste mal das ergebnis

Code:

   <?php
   DB("SELECT * FROM Shop_Kategorien ORDER BY Sortierung ASC");
   print'<pre>';
   print '##########';
   print_r($DB_Daten);
   print '##########';
   print'</pre>';
?>


um den Grund heraus zu finden.

es geht aber sonst auch so:

Code:

<?php
   DB("SELECT * FROM Shop_Kategorien ORDER BY Sortierung ASC");
   
   $Anzahl = count($DB_Daten);
   echo("Anzahl: ".$Anzahl."<br>");

   for($x=0; $x < $Anzahl; $x++)
   {
      echo('<tr>');
      echo('<td width="97%">'.(integer)$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>');
   }
?>


Zuletzt bearbeitet von lexynet am Mo 04.04.2005 12:43, 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 13:06
Titel

Antworten mit Zitat Zum Seitenanfang

Hier das Ergebnis:
Code:
Anzahl: 6
1   Vor   Zurück   Bearbeiten
1   Vor   Zurück   Bearbeiten
0   Vor   Zurück   Bearbeiten
0   Vor   Zurück   Bearbeiten
0   Vor   Zurück   Bearbeiten
0   Vor   Zurück   Bearbeiten


gruß
Chris
  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 13:09
Titel

Antworten mit Zitat Zum Seitenanfang

sieht doch ganz ok aus .. oder ? ... da scheinen einfach in den werten die in die datenbank geschrieben wurden leerzeichen mit drin zu sein
  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 13:30
Titel

Antworten mit Zitat Zum Seitenanfang

Ne. so leicht ist das leider nicht. Wenn ich über phpMyAdmin die DB anschaue
stehen die Werte da. Da ist nix mit Leerzeichen.

Wie gesagt, es scheint irgendetwas mit der Übergabe von der Function zum Aufruf passieren.
Wenn ich das ganze ohne Funktion schreibe, sondern direkt an der Stelle, dann klappt es.

Es liegt vielleicht an der if-Abfrage in der Funktion:
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);
   }


Gruß
Chris
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ähnliche Themen (php-mysql) übergabe von formulardaten und abfrage m. mysql
[php+mysql] abfrage von x bis y
MySql abfrage
MySQL Abfrage
[PHP, MySQL] Sortierung bei Abfrage
[PHP/MYSQL] Abfrage - Problem
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.