Antwort
 
Themen-Optionen Thema durchsuchen
Alt 01.05.2006, 17:29 Nach oben    #1
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.214
Standard mysql_fetch_assoc reseten

Ich lese eine längere Liste von Daten wie folgt aus:

PHP-Code:
<?php

$sql 
"SELECT ....";
$result mysql_query($sql) or exit(...);


while (
$row mysql_fetch_assoc($result)) 
{
  echo 
$row["userid"];
  
// ...
}

// nun nochmal:
while ($row mysql_fetch_assoc($result)) 
{
  echo 
$row["userid"];
  
// ...
}

?>
nun möchte ich aber $result nochmal abarbeiten. Kann ich das reseten? Denn mit jedem mysql_fetsch_assoc() geht er ja einen Eintrag weiter...


Jemand eine Idee?
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 01.05.2006, 17:50 Nach oben    #2
Christian Mühlroth
 
Benutzerbild von Chr!s
 
Registriert seit: 04.09.2005
Ort: Nürnberg
Beiträge: 561
Standard

Willst du die gleichen Daten nochmal auslesen? Wenn ja dann speichere sie doch einfach in nem Array anstatt sie extra nochmal aus der DB auszulesen? Willst du den Query "resetten" solltest du deinen mysql_query nochmal an die MySQL-Datenbank schicken. Denke ich.
__________________
http://www.ChrisDiary.De
Chr!s ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 01.05.2006, 17:55 Nach oben    #3
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.214
Standard

ok, ich dachte, dass es da eine entspr. Funktion gäbe...

Aber ein erneutes mysql_query() tut's natürlich auch....
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 01.05.2006, 20:01 Nach oben    #4
Benjamin Steininger
 
Benutzerbild von robo47
 
Registriert seit: 02.06.2005
Ort: weiher im tiefsten Odenwald
Beiträge: 1.183
Standard

www.php.net/mysql_data_seek

damit solltest du auf den ersten datensatz zurückspringen können und dann halt wieder die daten weiter verarbeiten können
robo47 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 01.05.2006, 20:13 Nach oben    #5
Martin Breuer
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.642
Standard

alternativ kann man auch die variable $result verdoppeln
__________________
I did it my way - Senseless-Blog
WarrenFaith ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 01.05.2006, 20:30 Nach oben    #6
Benjamin Steininger
 
Benutzerbild von robo47
 
Registriert seit: 02.06.2005
Ort: weiher im tiefsten Odenwald
Beiträge: 1.183
Standard

Zitat:
Zitat von WarrenFaith
alternativ kann man auch die variable $result verdoppeln
hmm sicher dass php da nicht einfach nen pointer anstatt ner copy macht ?
weil ein mysql-ergebnis ist ja vom datentyp resource.
robo47 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 01.05.2006, 22:12 Nach oben    #7
Martin Breuer
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.642
Standard

dann mysql_fetch_object und clonen... ansonsten müsste man das mal testen...
__________________
I did it my way - Senseless-Blog
WarrenFaith ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 01.05.2006, 23:11 Nach oben    #8
Jay
Gast
 
Beiträge: n/a
Standard

Zitat:
hmm sicher dass php da nicht einfach nen pointer anstatt ner copy macht ?
weil ein mysql-ergebnis ist ja vom datentyp resource.
Ist das in PHP 5 nicht nur bei Parametern so, dass Objekte als Referenz übergeben werden?
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 01.05.2006, 23:15 Nach oben    #9
Martin Breuer
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.642
Standard

na los, wer wills testen?
__________________
I did it my way - Senseless-Blog
WarrenFaith ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 01.05.2006, 23:17 Nach oben    #10
Jay
Gast
 
Beiträge: n/a
Standard

Zitat:
na los, wer wills testen?
Immer der der fragt :>
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 02.05.2006, 08:03 Nach oben    #11
Benjamin Steininger
 
Benutzerbild von robo47
 
Registriert seit: 02.06.2005
Ort: weiher im tiefsten Odenwald
Beiträge: 1.183
Standard

also bei folgendem beispiel mit fopen (also keiner mysql-resource)
PHP-Code:
<?php
error_reporting
(E_ALL);
$pointer fopen('.htaccess','r+');
var_dump($pointer);echo '<br />';
$pointer2 $pointer;
var_dump($pointer2);echo '<br />';
fclose($pointer);
var_dump($pointer);echo '<br />';
var_dump($pointer2);echo '<br />';
?>
gibts folgenden output:

Code:
resource(3) of type (stream)
resource(3) of type (stream)
resource(3) of type (Unknown)
resource(3) of type (Unknown)
bei einer Mysql-Verbindung:

PHP-Code:
<?php
error_reporting
(E_ALL);
$mysql mysql_connect('localhost','root','') or die(mysql_error());
var_dump($mysql);echo '<br />';
$mysql2 $mysql;
var_dump($mysql2);echo '<br />';
mysql_close($mysql);
var_dump($mysql);echo '<br />';
var_dump($mysql2);echo '<br />';
?>
Code:
resource(2) of type (mysql link)
resource(2) of type (mysql link)
resource(2) of type (Unknown)
resource(2) of type (Unknown)

Mysql-Results
PHP-Code:
<?php
error_reporting
(E_ALL);
$mysql mysql_connect('localhost','root','') or die(mysql_error());
$sql mysql_query('SHOW DATABASES');
$sql2 $sql;
var_dump($sql);echo '<br />';
var_dump($sql2);echo '<br />';
$data mysql_fetch_assoc($sql);
var_dump($data);echo '<br />';
$data2 mysql_fetch_assoc($sql2);
var_dump($data2);echo '<br />';
?>
Code:
resource(3) of type (mysql result)
resource(3) of type (mysql result)
array(1) { ["Database"]=> string(18) "information_schema" }
array(1) { ["Database"]=> string(5) "cdcol" }
damit sollte klar sein dass wohl nur pointer gesetzt werden, selbst wenn ich eine instanz verändere (wie im letzen Beispiel)

getest auf XAMPP mit php 5.1.1
falsch ich irgendwas übersehen habe, vergessen habe oder ähnliches, grad nochmal bescheidsagen

mfg
robo47
robo47 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 02.05.2006, 08:14 Nach oben    #12
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.214
Standard

Zitat:
Zitat von WarrenFaith
alternativ kann man auch die variable $result verdoppeln
hatte ich versucht.

Fazit: ich konnte es einmal benutzen....

Daher auch die Frage des resets. Ist ja nicht so, dass ich nicht auch selbst was ausprobieren würde



edit:
Zitat:
Zitat von robo47
www.php.net/mysql_data_seek

damit solltest du auf den ersten datensatz zurückspringen können und dann halt wieder die daten weiter verarbeiten können
tut genau das, was ich gesucht habe.

So unterlasse ich nämlich einen weiteren Datensatz aus der db zu holen.
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!

Geändert von Jann Hendrik (02.05.2006 um 08:25 Uhr).
Jann Hendrik ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 03.05.2006, 22:38 Nach oben    #13
Benutzer
 
Registriert seit: 31.12.2005
Beiträge: 90
Standard

hier lernt man einfach coole Sachen dazu

@robo: Danke für die Tests

und Danke für den Tipp mit mysql_data_seek()
björn ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Alle Zeitangaben in WEZ +2. Es ist jetzt 00:21 Uhr.


Powered by vBulletin® Version 3.7.3 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44