Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
(Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI...

Prüfen ob ein feld existiert?

Diskussion: Prüfen ob ein feld existiert? im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige hallo, wie kann ich mit php prüfen ob (z.B.:) in der spalte 'id' die id-nummer 5 existiert? gibts da ...

Antwort
Alt 17.01.06, 10:13   #1 (permalink)
 
Registriert seit: 04.10.05
bLaCk-DrAg0n Leistung: Facit NTK
bLaCk-DrAg0n eine Nachricht über ICQ schicken
Likes: 0
Standard Prüfen ob ein feld existiert?

Anzeige

hallo,
wie kann ich mit php prüfen ob (z.B.:) in der spalte 'id' die id-nummer 5 existiert?
gibts da so ne funktion wie bei dateien? ich wäre dankbar wenn ihr mir ein wenig unter die arme greift...
danke
mfg

bLaCk-DrAg0n ist offline   Mit Zitat antworten
Alt 17.01.06, 12:39   #2 (permalink)
 
Benutzerbild von BasicAvid
 
Registriert seit: 17.03.04
BasicAvid Leistung: Facit NTK
Likes: 2
Standard

Also eine direkte Funktion von PHP ist mir jetzt nicht bekannt, Du könntest es aber so machen:

PHP-Code:
function checkField($needle)
{
      
$query mysql_query("SELECT `id` FROM table WHERE `id`='".$needle."' LIMIT 1;"); // Einfach per WHERE, fragen ob es eine id mit dem Wert von $needle gibt
      
$count mysql_num_rows($query); // wieviele Treffer gibt es
      
if($count==1// gab es einen Treffer dann true
      
{
             return 
true;
      }
      else 
// sonst false
      
{
            return 
false;
      }
      return 
false// zur sicherheit immer false zurück 
}

// Der Aufruf der Funktion

if(checkField(5))
{
.....
}
else
{
.....

Man kann das ganze natürlich auch noch kürzen und ganz anders prüfen!
__________________
Mfg Basic Avid
- Use it or be used! -
BasicAvid ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 17.01.06, 12:54   #3 (permalink)
Themenstarter
 
Registriert seit: 04.10.05
bLaCk-DrAg0n Leistung: Facit NTK
bLaCk-DrAg0n eine Nachricht über ICQ schicken
Likes: 0
Standard

ne das ganze hat sich erledigt, habs anders gemacht..
hab nun aber folgendes problem:
ich hab ne while schleife zum auslesen ner kompletten tabelle... nur bekomm ich nur den letzten eintrag wiedergegeben, und das so oft, wie einträge in der tabelle sind. hier der code
PHP-Code:
include("gbsettings.php");
$i=0;
while (
$i $num) {
$i++;
//hier das was in der schleife wiedergegeben werden soll
}
//hier der dafür verantwortliche teil in der gbsettings.php
 
$sql "SELECT name, email, website, text, date, time FROM guestbook ORDER BY id DESC LIMIT 0,10"
 
$query=mysql_query($sql);
 
$num=mysql_num_rows($query);
 
$name=mysql_result($query$i"name");
 
$mail=mysql_result($query$i"email");
 
$web=mysql_result($query$i"website");
 
$text=mysql_result($query$i"text");
 
$date=mysql_result($query$i"date");
 
$time=mysql_result($query$i"time"); 
bitte helft mir.. danke
bLaCk-DrAg0n ist offline   Mit Zitat antworten
Alt 17.01.06, 13:27   #4 (permalink)
Member of Honour
 
Registriert seit: 07.12.04
end4win hat die Renommee-Anzeige deaktiviert
Likes: 256
Standard

liegt daran, dass in der Schleife nur $i++ steht!
Wenn du den Rest in die Schleife nimmst überschreibst du allerdings deine Werte
gleich wieder, also sollte die Ausgabe auch in die Schleife.

aber sonst hat er genau gemacht was du ihm gesagt hast
__________________
Die deutsche Rechtschreibung ist Freeware, daher darf man sie kostenlos nutzen.
Allerdings ist sie nicht Open Source, dies bedeutet man darf sie nicht verändern oder in veränderter Form
veröffentlichen.
end4win ist offline   Mit Zitat antworten
Alt 17.01.06, 13:43   #5 (permalink)
Themenstarter
 
Registriert seit: 04.10.05
bLaCk-DrAg0n Leistung: Facit NTK
bLaCk-DrAg0n eine Nachricht über ICQ schicken
Likes: 0
Standard

nu habsch nen weiteres prob. und zwar diese fehlermeldung:
Warning: mysql_result() [function.mysql-result]: Unable to jump to row 4 on MySQL result index 3 in C:\Programme\xampp\htdocs\Tobias\guestbuch\gbsetti ngs.php on line 26

wie schaff ich es, das wenn er da irgend ne zahl (also die id) nicht findet, einfach zur nächsten springt und dann weitermacht??
danke
bLaCk-DrAg0n ist offline   Mit Zitat antworten
Alt 17.01.06, 15:18   #6 (permalink)
Member of Honour
 
Registriert seit: 07.12.04
end4win hat die Renommee-Anzeige deaktiviert
Likes: 256
Standard

das hat dir im Prinzip Basic_Avid bereits erklärt.
Frag einfach nur vorhandene Einträge ab!
Im übrigen sind das Grundlagen und keine Probleme.
Lies doch mal ein gutes Buch dazu!

Gruss
__________________
Die deutsche Rechtschreibung ist Freeware, daher darf man sie kostenlos nutzen.
Allerdings ist sie nicht Open Source, dies bedeutet man darf sie nicht verändern oder in veränderter Form
veröffentlichen.
end4win ist offline   Mit Zitat antworten
Alt 17.01.06, 20:19   #7 (permalink)
 
Benutzerbild von BasicAvid
 
Registriert seit: 17.03.04
BasicAvid Leistung: Facit NTK
Likes: 2
Standard

Kleiner Tipp am rande:

Mach es doch so!
PHP-Code:

while($treffer mysql_fetch_array($query))
{
     
// Und hier kannst Du Deine Ausgabe / Verarbeitung machen
     // Mit mysql_fetch_array bekommst Du ein assoziatives Array zurück
    // Welches Du dann so ansprechen kannst
    
echo $treffer['id'];
   

Du brauchst dann nicht mehr mit einem normalen Index herum zu spielen, sondern kannst die Werte über den SQL-Spaltennamen ansprechen.
Und Du brauchst Dir auch keine sorgen mehr zu machen dass Du eine Fehlermeldung bekommst wegen eines falschen Index wertes.
__________________
Mfg Basic Avid
- Use it or be used! -
BasicAvid ist offline   Mit Zitat antworten
Alt 18.01.06, 09:04   #8 (permalink)
Themenstarter
 
Registriert seit: 04.10.05
bLaCk-DrAg0n Leistung: Facit NTK
bLaCk-DrAg0n eine Nachricht über ICQ schicken
Likes: 0
Standard

kannst mir ma kurz die funktion der variable $treffer erklären?
bin noch bissi neu in dem gebiet (des is meine erste whileschleife *hehe*).
was muss $treffer für nen wert haben?
danke
bLaCk-DrAg0n ist offline   Mit Zitat antworten
Alt 18.01.06, 09:36   #9 (permalink)
 
Benutzerbild von BasicAvid
 
Registriert seit: 17.03.04
BasicAvid Leistung: Facit NTK
Likes: 2
Standard

Also, die Funktion mysql_fetch_array() liefert Dir ein assoziatives Array zurück.
Die Variable $treffer ist keine Variable sondern ein Array und braucht keinen Wert.


Du hast z.B. folgende Tabelle in Deiner DB:
----------------------------
|ID | NAME | DATUM |
----------------------------
| 1 |Karl | 12345 |
----------------------------
| 2 |Sepp | 23456 |
----------------------------

Dann liefert Dir mysql_fetch_array() folgendes Array:

array('ID' => 1,
'NAME' => "Karl",
'DATUM' => 12345)

Wenn Du nun auf den Wert zugreifen willst kannst Du es so machen array['ID'].
Das Array $treffer brauchst Du nicht vorbelegen.
Die Whileschleife läuft solange kein Eintrag mehr in der Tabelle vorhanden ist, mysql_fetch_array() liest immer eine Zeile aus der Tabelle und speichert die Werte in dem assoziativen Array ab, in der Whileschleife kannst Du mit den Daten machen was Du willst. Falls Du alle Werte in einem Array haben willst musst in der Whileschleife die aktuellen Werte in ein anderes Array schreiben.

Wenn ich richtig gesehen habe willst Du ein Gästebuch machen oder!?

Ich hoffe mal es ist verständlich.
__________________
Mfg Basic Avid
- Use it or be used! -
BasicAvid ist offline   Mit Zitat antworten
Alt 18.01.06, 09:38   #10 (permalink)
Member of Honour
 
Registriert seit: 07.12.04
end4win hat die Renommee-Anzeige deaktiviert
Likes: 256
Standard

Hilfe ist kostenlos! Für Unterricht bekomm ich Geld!
ARRAY
ARRAY
www.selfphp.de

Also ich bin raus, sich so wenig Mühe zu geben ist schon frech.
__________________
Die deutsche Rechtschreibung ist Freeware, daher darf man sie kostenlos nutzen.
Allerdings ist sie nicht Open Source, dies bedeutet man darf sie nicht verändern oder in veränderter Form
veröffentlichen.
end4win ist offline   Mit Zitat antworten
Alt 18.01.06, 10:01   #11 (permalink)
Themenstarter
 
Registriert seit: 04.10.05
bLaCk-DrAg0n Leistung: Facit NTK
bLaCk-DrAg0n eine Nachricht über ICQ schicken
Likes: 0
Standard

joa, gästebuch stimmt...
bin gad mit allen drum un dran feddisch geworden...
danke nochmal
bLaCk-DrAg0n ist offline   Mit Zitat antworten
Alt 18.01.06, 21:34   #12 (permalink)
 
Registriert seit: 22.05.05
Ranger Leistung: Facit NTK
Likes: 0
Standard

Das Array von mysql_fetch_array besitzt normalerweise auch nen numerischen index, also bei denner Tabelle säh das so aus:

$treffer = array{
'ID' => 1,
'NAME' => "Karl",
'DATUM' => 12345,
0 => 1,
1 => "Karl",
2 => 12345}
Ranger ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Web, Network & Multimedia Palace » (Web-) Design und webbasierte Sprachen » Prüfen ob ein feld existiert?
Themen-Optionen
Ansicht

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 sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Website Hardware4u: Existiert die noch? nzc Hardware Probleme 0 02.08.08 00:19
Dynamisches Feld (C++) Kenniej91 Code Kitchen 2 01.10.07 21:07
Abfrage, ob eine Datei (Grafik) existiert valenterry (Web-) Design und webbasierte Sprachen 5 25.01.07 17:09
Batch prüfen ob Dienst existiert THRALL Code Kitchen 6 19.05.05 21:39
Schwarzes Feld ph0x Hackerboard.de-Feedback 4 18.03.02 12:19


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 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61