[PHP] Controleren van id in database

Pagina: 1
Acties:
  • 111 views sinds 30-01-2008
  • Reageer

Onderwerpen


Verwijderd

Topicstarter
Ik heb een probleem. Ik wil dat als de id=5 opgevraagt word alles van id 5 wordt weergeven. Naja dat is uiteraard geen probleem

Maar ik wil dat als id=10 gevraagt wordt en deze dan niet bestaat in de database dat hij zegt: Sorry maar het gevraagde id bestaat niet.

Maar dat lukt me dus totaal niet. Mijn script is:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
{
    $query2 = "SELECT id FROM adv";
    $result2 = mysql_query($query2) or die (mysql_error());
    while($row2 = mysql_fetch_array($result2))
    {
        $ident = $row2["id"];
    
        if($_GET["id"] == $ident)
        {
            $query1 = "SELECT * FROM adv WHERE id=".$_GET["id"];
            $result1 = mysql_query($query1) or die (mysql_error());
            $row1 = mysql_fetch_array($result1);
    
            echo "komt nog";
        }
        else
        {
            echo "Sorry maar het gevraagde id bestaat niet";
        }
    }
}


Ik weet dat ik een fout maak maar welke absoluut niet. Ik weet dus ook niet wat ik hier aan moet veranderen. In mijn ogen is hij juist. Maar goed daar hebben we dan weer niks aan!.

Zou iemand me kunnen uitleggen wat ik fout doe en hoe ik dit het beste kan oplossen?

  • Suepahfly
  • Registratie: Juni 2001
  • Laatst online: 17-09 17:05
[edit]

Waarom niet
PHP:
1
2
3
4
5
6
7
8
9
10
11
$result = mysql_query("SELECT * FROM adv WHERE id ='".$_GET['id']."'") or die(mysql_error());
$row = mysql_fetch_array($result);

if(!$row)
{
     echo "ID ".$_GET['id']." bestaad niet";
}
else
{
    /* hier je code */
}

[ Voor 131% gewijzigd door Suepahfly op 13-09-2003 20:40 ]


Acties:
  • 0 Henk 'm!

  • Theguide
  • Registratie: December 2000
  • Laatst online: 26-06 11:48
"bestaad" bestaat ook niet.

Fuck me if I'm wrong, but isn't your name Gretchen?


Acties:
  • 0 Henk 'm!

  • WouZz
  • Registratie: Mei 2000
  • Niet online

WouZz

Elvis is alive!

This is what you're lookin' for...

On track


Acties:
  • 0 Henk 'm!

  • Dennahz
  • Registratie: November 2001
  • Laatst online: 17-09 21:50

Dennahz

Life feels like hell should.

Inderdaad, gewoon checken met mysql_num_rows hoeveel rows er met dat id bestaan. Als ie 0 is -> fout als ie 1 is -> laat zien.

dus bijv :

PHP:
1
2
3
4
5
6
7
8
$sql = mysql_query(SELECT * FROM bla where id='".$_GET['id']."'") or die (mysql_error());
$check = mysql_num_rows($sql);

if($check == 0) {

die("foutmelding");

}


Zoeits zou ik het doen..

Twitter


Acties:
  • 0 Henk 'm!

Verwijderd

Ik zou eerder de manier van SuepahFly gebruiken omdat hij het in 1 enkele query doet

Breezer's manier kijkt eerst of er wel records zijn d.m.v. een query, en heeft daarna nog een query nodig om de gegevens op te halen als er wel records zijn.... dubbel op dus.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Suepahfly schreef op 13 September 2003 @ 20:32:
[edit]

Waarom niet
PHP:
1
2
3
4
5
6
7
8
9
10
11
$result = mysql_query("SELECT * FROM adv WHERE id ='".$_GET['id']."'") or die(mysql_error());
$row = mysql_fetch_array($result);

if(!$row)
{
     echo "ID ".$_GET['id']." bestaad niet";
}
else
{
    /* hier je code */
}
Ik krijg dus nu bij id 1: Deze werkt

Bij id 2: ID 2 bestaad niet
Bij id 3: ID 3 bestaad niet
etc..
etc..
etc..

Terwijl 1 - 2 - 3 - 4 - 5 tot en met 15 bestaan. Beter gezegd. De links van de id's worden ook uit de database gehaald dus.

---------------
Even voor sommige.. Ik heb even gemeld wat het scripts zegt. niet dat het woord bestaad klopt..
--------------

[ Voor 17% gewijzigd door Verwijderd op 15-09-2003 14:33 ]


Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 16:32
offtopic:
Het is nog altijd bestaat, en niet bestaad.....


Als ID een numeriek veld is, waarom zet je er dan quotes rond?

[ Voor 33% gewijzigd door whoami op 15-09-2003 14:32 ]

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
PHP:
1
2
3
4
5
6
7
8
9
10
11
$result1 = mysql_query("SELECT * FROM adv WHERE id =".$_GET['id']) or die(mysql_error()); 
$row1 = mysql_fetch_array($result1); 

if(!$row1) 
{ 
     echo "ID ".$_GET['id']." bestaat niet"; 
} 
else 
{ 
    echo "thanks";
}


Dit is wat ik heb staan..

Maar euh wat bedoel je met die quotes??? want volgens mij heb ik dat bij dat stukje dat ik heb aangepast al weggehaald
Pagina: 1