/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Kode til fejlmeddelelse hvis id ikke finde~
Fra : Jesper Holm


Dato : 30-08-03 19:31

Hej NG!

Jeg har nogle links, der sætter en vaiabel med hver sin id.

EKS:

<a href="minside.php?id=1>Link 1</a>
<a href="minside.php?id=2>Link 2</a>
osv...

Når man så klikker på linket, henter minside.php informationerne
fra min MySQL-database hvor id er fx 1... Nu har jeg imidlertid
kun 8 "id'er" i min databasetabel, og hvis man derfor gik ind på
minside.php?id=9 vil den derfor IKKE kunne finde informationer om
id 9, da der ikke findes en sådan id i min database.

Hvordan kan jeg lave en kode, der skriver en tekst (altså en form
for fejlmeddelelse) til brugeren med metoden 'echo', hvis den
angivne id ikke findes ELLER ikke er sat????

EKS:

Hvis man går ind på siden minside.php?id=9 og der ikke er nogen
id med værdien 9, fremkommer fejlmeddelelsen "Den side du prøver
at få adgang til, finde ikke!" med php-metoden 'echo'....?

De(n) der hjælper mig vil jeg være yderst taknemmelig.

På forhånd rigtig mange tak!

Med venlig hilsen
Jesper Holm

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Martin C. Petersen (30-08-2003)
Kommentar
Fra : Martin C. Petersen


Dato : 30-08-03 20:40

> Når man så klikker på linket, henter minside.php informationerne
> fra min MySQL-database hvor id er fx 1... Nu har jeg imidlertid
> kun 8 "id'er" i min databasetabel, og hvis man derfor gik ind på
> minside.php?id=9 vil den derfor IKKE kunne finde informationer om
> id 9, da der ikke findes en sådan id i min database.
>
> Hvordan kan jeg lave en kode, der skriver en tekst (altså en form
> for fejlmeddelelse) til brugeren med metoden 'echo', hvis den
> angivne id ikke findes ELLER ikke er sat????
Check værdien af mysql_num_rows($result) efter du har kørt $result =
mysql_query(...) - den giver antallet af fundne rækker..


Martin



Jesper Holm (30-08-2003)
Kommentar
Fra : Jesper Holm


Dato : 30-08-03 21:21

Men hvordan kan jeg bruge det til at lave en "fejlmeddelelse"...?

Hvis jeg fx sletter en id og opretter en ny, får den nye id et HELT
nyt id-nummer automatisk, og jeg vil derfor ikke kunne bruge antallet
af id'er i alt til noget - eller hvad?

Du må meget gerne uddybe meget mere og evt. komme med et eksempel, da
jeg ikke helt kan se, hvad jeg som sagt skal bruge dette til...??!

Med venlig hilsen
Jesper Holm

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Mads Lie Jensen (30-08-2003)
Kommentar
Fra : Mads Lie Jensen


Dato : 30-08-03 21:33

On Sat, 30 Aug 2003 20:21:06 +0000 (UTC), Jesper Holm
<holmidk2003@holm.mail.dk> wrote:

>Men hvordan kan jeg bruge det til at lave en "fejlmeddelelse"...?
>
>Hvis jeg fx sletter en id og opretter en ny, får den nye id et HELT
>nyt id-nummer automatisk, og jeg vil derfor ikke kunne bruge antallet
>af id'er i alt til noget - eller hvad?
>
>Du må meget gerne uddybe meget mere og evt. komme med et eksempel, da
>jeg ikke helt kan se, hvad jeg som sagt skal bruge dette til...??!

Sådan ca.:
$result = mysql_query("SELECT ... FROM tabel WHERE id=$id");
if (mysql_num_rows($result) > 0) {
   // Vis data fra databasen
} else {
   // id-nummeret findes ikke, vis fejl
}


--
Mads Lie Jensen - mads@gartneriet.dk - ICQ #25478403
http://www.gartneriet.dk

Jesper Holm (30-08-2003)
Kommentar
Fra : Jesper Holm


Dato : 30-08-03 21:58

> >Men hvordan kan jeg bruge det til at lave en "fejlmeddelelse"...?

> Sådan ca.:
> $result = mysql_query("SELECT ... FROM tabel WHERE id=$id");
> if (mysql_num_rows($result) > 0) {
>    // Vis data fra databasen
> } else {
>    // id-nummeret findes ikke, vis fejl
> }

Men hvis vi nu antager at jeg har 10 id'er i min tabel (dvs. der fx kunne
være 10 brugere oprettet med hver deres id = 10 id'er) og man så kan se
fx brugerens profil ved at bruge linket "minside.php?id=x" hvor x er et
tal.

Hvis man så fx skrev adressen "minside.php?id=25" så burde man, hvis der
var en bruger med id'et 25, se hans/hendes profil. Men da der i mit
eksempel kun var oprettet 10 brugere, er der derfor IKKE en bruger med
id'et 25...!

Så skal der fremkomme en fejlmeddelelse lavet med et alm. php-echo fx:

echo "Den side du prøver at få adgang til, findes ikke!";

Så holder den kode du kom med, vel ikke??? Eller tager jeg fejl? Med din
kode, kommer der vel kun en "fejlmeddelelse" hvis id-tallet ikke er over
0, ikke sandt???

Hvilken kode skal jeg i så fald bruge, hvis jeg skal kunne tjekke om der
eksisterer en bruger med det angivne id, og hvis IKKE så kommer der denne
fejlmeddelelse...???!

Håber nogen kan hjælpe, for det er efterhånden gået hen og blive et
halv-svært problem

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Jesper Holm (30-08-2003)
Kommentar
Fra : Jesper Holm


Dato : 30-08-03 22:24

> Sådan ca.:
> $result = mysql_query("SELECT ... FROM tabel WHERE id=$id");
> if (mysql_num_rows($result) > 0) {
>    // Vis data fra databasen
> } else {
>    // id-nummeret findes ikke, vis fejl
> }

Nu hvor jeg har testet det, må jeg jo sige at det bare virker PERFEKT

Så jeg må vist sige, at jeg nok var lidt for hurtigt ude med at
"nedskyde" det, for det virker jo fuldkommen som det skal... Jeg må have
forvekslet det med en kode, som jeg bare synes at se helt forkert ud...

Det kan være at jeg alligevel trænger til denne nattesøvn jeg aldrig fik


Mange tak for din - og jer andres - hjælp!

Med venlig hilsen
Jesper Holm


--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Anders K. Madsen (30-08-2003)
Kommentar
Fra : Anders K. Madsen


Dato : 30-08-03 23:43

On Sat, 30 Aug 2003 21:23:39 +0000 (UTC)
Jesper Holm <holmidk2003@holm.mail.dk> wrote:

> > Sådan ca.:
> > $result = mysql_query("SELECT ... FROM tabel WHERE id=$id");
> > if (mysql_num_rows($result) > 0) {
> >    // Vis data fra databasen
> > } else {
> >    // id-nummeret findes ikke, vis fejl
> > }
>
> Nu hvor jeg har testet det, må jeg jo sige at det bare virker PERFEKT
>
> Så jeg må vist sige, at jeg nok var lidt for hurtigt ude med at
> "nedskyde" det, for det virker jo fuldkommen som det skal... Jeg må have
> forvekslet det med en kode, som jeg bare synes at se helt forkert ud...
>

Bare lige FYI, så fortæller mysqlk_num_rows() noget om hvor mange rækker der
ville returneres fra den query-resource ($result = mysql_query(...)) man giver
den som parameter.

Altså, hvis du laver en:
$q = mysql_query("SELECT * FROM tabel WHERE id < 10");
print mysql_num_rows($q) . " IDs er under 10";

Så vil den give dig det antal ID'er der er under 10.
Altså mysql_num_rows() fortæller hvormange rækker der matchede dit query.

Mvh.
   Madsen

--
* Anders K. Madsen * http://lillesvin.linux.dk *
* madsen@sjovedyr.dk * Linux, Ruby, PHP and SQL *

Jesper Holm (31-08-2003)
Kommentar
Fra : Jesper Holm


Dato : 31-08-03 12:24

> Altså, hvis du laver en:
> $q = mysql_query("SELECT * FROM tabel WHERE id < 10");
> print mysql_num_rows($q) . " IDs er under 10";
>
> Så vil den give dig det antal ID'er der er under 10.
> Altså mysql_num_rows() fortæller hvormange rækker der matchede dit query.

Jeps

Det var nemlig også hvad jeg fandt ud af, da jeg først fik afprøvet koden...! Men
nu virker det bare perfekt og det skal i ALLE have stor tak for

Med venlig hilsen - og god weeekend!
Jesper Holm


--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Søg
Reklame
Statistik
Spørgsmål : 177502
Tips : 31968
Nyheder : 719565
Indlæg : 6408531
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste