Willkommen auf dem Portal für Mediengestalter
|
|
Autor |
Nachricht |
lexynet
Dabei seit: 04.04.2005
Ort: Dessau
Alter: 43
Geschlecht:
|
Verfasst Mo 04.04.2005 14:39
Titel
|
|
|
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>';
?>
|
|
|
|
|
|
chrikle
Threadersteller
Dabei seit: 02.05.2002
Ort: NRW
Alter: 47
Geschlecht:
|
Verfasst Mo 04.04.2005 14:50
Titel
|
|
|
Büdde schön:
Code: | ##########Array
(
[0] => 1
[ID] => 1
[1] => 1
[Sortierung] => 1
[2] => Shampoo
[Kategorie] => Shampoo
)
########## |
gruß
Chris
|
|
|
|
|
Anzeige
|
|
|
lexynet
Dabei seit: 04.04.2005
Ort: Dessau
Alter: 43
Geschlecht:
|
Verfasst Mo 04.04.2005 14:52
Titel
|
|
|
da fehlt aber noch was .. oder hast du die einträge in der DB gelöscht ?
|
|
|
|
|
chrikle
Threadersteller
Dabei seit: 02.05.2002
Ort: NRW
Alter: 47
Geschlecht:
|
Verfasst Mo 04.04.2005 15:11
Titel
|
|
|
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
|
|
|
|
|
eViLaSh
Dabei seit: 22.05.2003
Ort: Texas
Alter: 40
Geschlecht:
|
Verfasst Mo 04.04.2005 15:16
Titel
|
|
|
also ich bin da jetzt leider überfragt
keine ahnung an was das liegt!
|
|
|
|
|
lexynet
Dabei seit: 04.04.2005
Ort: Dessau
Alter: 43
Geschlecht:
|
Verfasst Mo 04.04.2005 15:17
Titel
|
|
|
kannst du den quelltext mal im geammten posten ... oder schick ihn mir per mail .. dann schau ich ihn mir mal an ... stephan@stoetzer.de
|
|
|
|
|
chrikle
Threadersteller
Dabei seit: 02.05.2002
Ort: NRW
Alter: 47
Geschlecht:
|
Verfasst Mo 04.04.2005 19:23
Titel
|
|
|
eViLaSh hat geschrieben: | also ich bin da jetzt leider überfragt
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ü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ü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
Aber vielleicht hat ja jemand ne Lösung?
Wäre jedenfalls sehr dankbar dafür
Gruß
Chris
Zuletzt bearbeitet von chrikle am Mo 04.04.2005 19:25, insgesamt 1-mal bearbeitet
|
|
|
|
|
chrikle
Threadersteller
Dabei seit: 02.05.2002
Ort: NRW
Alter: 47
Geschlecht:
|
Verfasst Mo 04.04.2005 21:13
Titel
|
|
|
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.
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ück</td>');
echo('<td width="1%">Bearbeiten</td>');
echo('</tr>');
} |
PUH! geschafft! Meist sind es nur einfache Dinge, die man übersieht
Ich danke Allen, die mir versucht haben zu helfen!
Gruß
Chris
|
|
|
|
|
|
|
|
Ähnliche Themen |
(php-mysql) übergabe von formulardaten und abfrage m. mysql
[php+mysql] abfrage von x bis y
MySql abfrage
MySQL Abfrage
[PHP]Problem mit Mysql Abfrage
MySQL Abfrage: Terminkalender
|
|
|
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.
|
|