php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 02-12-2003, 12:39
Spider315
 Newbie
Links : Onlinestatus : Spider315 ist offline
Registriert seit: Dec 2003
Ort: Aachen
Beiträge: 65
Spider315 ist zur Zeit noch ein unbeschriebenes Blatt
Question Aktueller Datensatz nach Query

Hallo Zusammen,

ich benötige dringend Eure Hlfe. Nach einem Select benötige ich die aktuelle Datensatznummer des gefundenen Datensatzes um ab dieser Position weiterblättern zu können ( sowohl Vor- wie auch Rückwärts )
Das Blättern klappt generell mit MySql_Data_Seek, aber eben nicht wenn
ich vorher die Tabelle durchsuche.

Eine Spalte mitzuführen, die mit autoincrement hochgezählt wird ist für diese Anwendung nicht möglich, da alphabetisch korrekt geblättert werden soll.

Bin ratlos und für jeden Hinweis dankbar
Spider315
Mit Zitat antworten
  #2 (permalink)  
Alt 02-12-2003, 12:49
Wurzel
 Master
Links : Onlinestatus : Wurzel ist offline
Registriert seit: Jul 2002
Ort: double-u-upper-valley
Beiträge: 7.477
Wurzel ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ich weiss ja nicht, wie du abfragst, aber ich würde das mit LIMIT machen.

SELECT bla FROM blubb WHERE spalte='wert' ORDER BY spalte ASC LIMIT $startwert, 1

- für den ersten datensatz legst du einen defaultwert fest
- für jeden neuen datensatz übergibst du einen startwert, ids brauchst du
dazu nicht
__________________
Kissolino.com
Mit Zitat antworten
  #3 (permalink)  
Alt 02-12-2003, 12:58
Spider315
 Newbie
Links : Onlinestatus : Spider315 ist offline
Registriert seit: Dec 2003
Ort: Aachen
Beiträge: 65
Spider315 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hi,
danke für die schnelle Response - meine Abfrage geht so -

$result=mysql_quera("Select * from Tabelle where Displayname like 'Suchbegriff%' order by DisplayName");

Den Parameter Limit musst Du mir einwenig erklären....

Bin seit heute im Forum - und total begeistert und hoffe das ich mich auch revanchieren kann!

cu
Spider315
Mit Zitat antworten
  #4 (permalink)  
Alt 02-12-2003, 13:01
Wurzel
 Master
Links : Onlinestatus : Wurzel ist offline
Registriert seit: Jul 2002
Ort: double-u-upper-valley
Beiträge: 7.477
Wurzel ist zur Zeit noch ein unbeschriebenes Blatt
Standard

das erklären überlass ich mal dem manual
Zitat:
Die LIMIT-Klausel wird benutzt, um die Anzahl von Zeilen, die vom SELECT-Statement zurückgegeben werden, zu beschränken. LIMIT erwartet ein oder zwei numerische Argumente. Wenn zwei Argumente angegeben sind, legt das erste den Offset der ersten Zeile fest, die zurückgegeben wird, und das zweite gibt die maximale Anzahl von Zeilen an, die zurückgegeben werden. Der Offset der anfänglichen Zeile ist 0 (nicht 1):
mysql> select * from tabelle LIMIT 5,10; # Zeilen 6 bis 15 zurückgeben
Wenn ein Argument angegeben wird, stellt es die maximale Anzahl von Zeilen dar, die zurückgegeben werden:
mysql> select * from tabelle LIMIT 5; # Die ersten 5 Zeilen zurückgeben
Mit anderen Worten ist LIMIT n äquivalent zu LIMIT 0,n.
http://www.mysql.com/doc/de/SELECT.html
__________________
Kissolino.com
Mit Zitat antworten
  #5 (permalink)  
Alt 02-12-2003, 13:18
Spider315
 Newbie
Links : Onlinestatus : Spider315 ist offline
Registriert seit: Dec 2003
Ort: Aachen
Beiträge: 65
Spider315 ist zur Zeit noch ein unbeschriebenes Blatt
Standard [MySQL 4.1]

Hi,

den Parameter Limit habe ich jetzt so verstanden, das ich in der Ergebnissmenge weiterblättern kann, richtig?

Konkret soll aber der Benutzer auch ab dem gefundenen Satz auch
zurückblättern können ( das wird auch intensiv genutzt) d.h im konkreten Fall, das mit Select der erste Name mit dem Anfangsfuchstaben 'M' gefunden und angezeigt wird. Der User soll nun mit 'Zurück' der Eintrag mit dem Buchstaben 'L' erhalten.

Was ich benötige ist also der interne Satzpointer - gibt es so etwas in Mysql? In Oracle-Sql geht das mit Select rowid where Displayname .. usw...

cu
Moro
Mit Zitat antworten
  #6 (permalink)  
Alt 02-12-2003, 14:13
Wurzel
 Master
Links : Onlinestatus : Wurzel ist offline
Registriert seit: Jul 2002
Ort: double-u-upper-valley
Beiträge: 7.477
Wurzel ist zur Zeit noch ein unbeschriebenes Blatt
Standard Re: [MySQL 4.1]

Zitat:
den Parameter Limit habe ich jetzt so verstanden, das ich in der Ergebnissmenge weiterblättern kann, richtig?
jepp

Zitat:
Konkret soll aber der Benutzer auch ab dem gefundenen Satz auch zurückblättern können ( das wird auch intensiv genutzt) d.h im konkreten Fall, das mit Select der erste Name mit dem Anfangsfuchstaben 'M' gefunden und angezeigt wird. Der User soll nun mit 'Zurück' der Eintrag mit dem Buchstaben 'L' erhalten.
das wäre aber ne neue Abfrage, die solltest du dann einbauen

alternativ kannst du alle datensätze abfragen, in ein array packen
und über die indizes des arrays blättern
__________________
Kissolino.com
Mit Zitat antworten
  #7 (permalink)  
Alt 03-12-2003, 17:22
Spider315
 Newbie
Links : Onlinestatus : Spider315 ist offline
Registriert seit: Dec 2003
Ort: Aachen
Beiträge: 65
Spider315 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hi,

bin jetzt folgenden Weg gegangen.

1) ID-Splate in die Datenbanktabelle eingefügt (ohne autoincremnet, da
alphabetische Reihenfolge notwendig !!).

2) Nach dem Änderungsdienst ( eigener Admin-Bereich ) wird
das ID-Feld neu numeriert und zwar mit :

$result = mysql_query("SELECT * From Version_2 order by AliasName");
$satzanzahl = mysql_affected_rows();
$satz = 0;

while ( $satz != ($satzanzahl ))
{
mysql_data_seek($result, $satz);
$daten = mysql_fetch_array($result);
$F_Such = $daten[AliasName];
mysql_query("UPDATE Version_2 SET ID = '$satz' WHERE Aliasname = '$F_Such' limit=1");
$satz++;
}

$datenbank = MYSQL_CLOSE($db);

Das läuft recht gut - Frage am Rande - sollte das nicht auch mit einem
SQL-Statement ( d.h. ohne Schleife ) funken?

cu
Spider315

------------------------------

Wenn ich den See seh brauch ich kein Meer mehr.
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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 an


PHP News

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni


 

Aktuelle PHP Scripte

HeidiSQL - kostenloses MySQL front-end Editor für Windows ansehen HeidiSQL - kostenloses MySQL front-end Editor für Windows

HeidiSQL - ist ein Windows-Editor für die bekannt open Source Datenbank mySQL

10.12.2018 Berni | Kategorie: MYSQL/ Management
piwik Open-Source Webanalyse-Software ansehen piwik Open-Source Webanalyse-Software

piwik ist eine gute Alternative zu Google Analytics. Viele Features und ein modernes Erscheinungsbild mit aussagefähigen Statistiken in Echtzeit

10.12.2018 phpler | Kategorie: PHP/ Besucherzaehler
jQuery Mobile ansehen jQuery Mobile

Touch-Optimized Web Framework für Smartphones & Tablets

09.12.2018 phpler | Kategorie: AJAX/ Framework
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 04:36 Uhr.