Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

MySQL - dritten Datensatz auslesen ohne durchlaufende Nummerierung

Frage Entwicklung Datenbanken

Mitglied: Maik87

Maik87 (Level 2) - Jetzt verbinden

19.10.2010 um 12:09 Uhr, 3898 Aufrufe, 9 Kommentare

Hallo zusammen,

folgendes:

Ich habe hier eine MySql-Datenbank laufen. Jetzt möchte ich in PHP eine Pflegemaske realisieren. Wenn ich in meiner Tabelle beispielsweise 20 Datensätze habe, dann kann ich ja mit count die Anzahl auslesen und als "Datensatz x von y" anzeigen lassen. Wie aber schaffe ich es nun, gezielt z.B. den dritten Datensatz auszulesen? Ich habe leider keine fortlaufende Nummerierung. Der PK ist eine Zufallszahl. Auch sollte der dritte Datensatz immer der dritte bleiben, nicht durch hinzufügen von Daten verschoben werden.

Wer kann mir da einen Tipp oder einen SQL-Command geben?

Danke schonmal!!!
Mitglied: BBfreak
19.10.2010 um 12:17 Uhr
Hi,

bisher haste in php bestmmt nen 'while'-Ergebniss vorhanden gibt Datensatz aus. Da kannste auch direkt sagen: gib nur den dritten Datensatz aus. Die SQL Abfrage bleibt dabei aber die gleiche... Eine SQL-Abfrage die das so kann ist mir nicht bekannt.

Das der PK ne Zufallszahl ist und nicht nen Autocount hat klingt strange und würde dieses Problem einfach umgehen ... Aber wird ja gewiss seinen Sinn haben ;)
Bitte warten ..
Mitglied: BBfreak
19.10.2010 um 12:20 Uhr
[ http://www.faqs.org/docs/ppbook/x5802.htm ]

LIMIT { count | ALL }

Limits the number of rows returned to a maximum of count, or explicitly allows ALL rows.
{ OFFSET | , } start

Instructs the LIMIT clause at what point to begin limiting the results. For example, a LIMIT with a count set to 100, and an OFFSET clause with a start value of 50 would return the rows from 50 to 150 (if there are that many results to return).

ggf kannste aber auch damit mit Limit 1 und Start Value 3 weitermachen.

Gruß
Bitte warten ..
Mitglied: Maik87
19.10.2010 um 12:22 Uhr
Hallo,

danke bereits für deine Antwort.

Bis jetzt habe ich noch garnichts stehen. Bin erst am Anfang des Projekts. Ich hab eine Datenbank in Access, wo die ganze Daten drin sind. Hat mein Vor Vor Vorgänger mal eingerichtet. Jetzt soll das ganze aber online geschaltet werden, um mehr Benutzern die Pflege zu ermöglichen und ein bestehendes Zugriffskonzept nutzen zu können. Über den Sinn oder Unsinn des PK kann man diskutieren. Ich will aber die Daten so übernehmen wie sie sind. Nur an den Masken soll noch geschraubt werden. Ich möchte mit PHP nicht erst die ganze Datenbank abrattern um Datensatz 5345 auszugeben. Ich möchte gezielt drauf ansprechen. Geht hier um Performance ;)
Bitte warten ..
Mitglied: Maik87
19.10.2010 um 12:24 Uhr
Zitat von BBfreak:
[ http://www.faqs.org/docs/ppbook/x5802.htm ]

LIMIT { count | ALL }

Limits the number of rows returned to a maximum of count, or explicitly allows ALL rows.
{ OFFSET | , } start

Instructs the LIMIT clause at what point to begin limiting the results. For example, a LIMIT with a count set to 100, and an
OFFSET clause with a start value of 50 would return the rows from 50 to 150 (if there are that many results to return).

ggf kannste aber auch damit mit Limit 1 und Start Value 3 weitermachen.

Gruß


Hey danke,

sowas suche ich. Werde ich nachher mal testen, sobald die ersten Zeilen code stehen.

Aber der dritte bleibt dann auch immer der dritte? Am besten Order by Eingabedatum ASC, oder?
Bitte warten ..
Mitglied: godlie
19.10.2010 um 12:59 Uhr
Hallo,
was spricht denn dagegen dir eine eigene Spalte mit Nummerierung hinzuzufügen wenn du die Daten übernimmst?
Bitte warten ..
Mitglied: Maik87
19.10.2010 um 13:45 Uhr
Wird ein Datensatz gelöscht ist ein Loch drin ;)
Bitte warten ..
Mitglied: godlie
19.10.2010 um 13:51 Uhr
und weiter ? ob da 1,2,3,4,5,6,7,8,9 oder 1,5,6,8,9 steht is ja schnuppe du hast eine ansteigende eindeutige zahl an der du dich orientieren kannst,
was du aber in deinem Fall auch an dem Erstellungsdatum kannst .
Bitte warten ..
Mitglied: Maik87
19.10.2010 um 15:40 Uhr
Nee, ist nicht schnuppe...

Jetzt hab ich son ein Vor und Zurück button, der sich auf die Zahl bezieht. Wenn ich bei 6 bin, auf Vor, also 6+1 klicke, gibts keinen Datensatz dazu... Ich will aber den nächsten haben.
Bitte warten ..
Mitglied: godlie
19.10.2010 um 16:11 Uhr
Vor und Zurück kannst mit Limit realisieren stichwort Pagination.
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
PHP
gelöst PHP-MySQL - mysqli liefert einen Datensatz zu wenig (3)

Frage von Windows-Spieler zum Thema PHP ...

VB for Applications
gelöst Bestimmte Spalten aus CSV-Datei auslesen (VBS) (9)

Frage von Gurkenhobel zum Thema VB for Applications ...

Batch & Shell
Eventlog Druckjobs mit VBS auslesen (2)

Frage von joni2000de zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...