Avatar billede dcheng Novice
13. februar 2004 - 00:24 Der er 29 kommentarer og
1 løsning

Lægge 1 til Hvordan

KODE:
--------
$DB->connect(); // Connect to the database
$Stats2 = $DB->query_object('
SELECT        count(movie_id) as total
FROM        {prefix}movie
WHERE        movie_name LIKE "%' . $searchword . '%"');

$total = $Stats2->total;
--------

Hvis jeg echo'er $total ud får jeg 37 men jeg skal bruge tallet som er 1 større altså 38...........

jeg har prøvet

$total = $Stats2->total + 1;
echo $total

Så får jeg &

Nogle som kan se hvorfor jeg får & og ikke 38??
Men hvordan får jeg 38?
Avatar billede medions Nybegynder
13. februar 2004 - 00:28 #1
$total = $Stats2->total++;

?

//>Rune
Avatar billede dcheng Novice
13. februar 2004 - 00:37 #2
Giver stadig 37
Avatar billede tefcke Nybegynder
13. februar 2004 - 00:49 #3
Sådan som du skriver det, skulle det virke.

Hvis det her virker (altså udskriver 37):
$total = $Stats2->total;

Virker det her også:
$total = $Stats2->total + 1;

Ellers kunne jeg godt tænke mig og se hele koden!
Avatar billede tefcke Nybegynder
13. februar 2004 - 00:52 #4
Men hvis du siger det her virker:
$total = $Stats2->total;

Kan du vel bare gøre følgende bagefter:
$total++;
Avatar billede dcheng Novice
13. februar 2004 - 02:17 #5
Det er et ret stort script (ikke lavet af mig)
Hvis det her ikke hjælper skal jeg nok lige smide hele scriptet ud og så forhøjer jeg ...
Her er nogle stykker af scriptet:

######################################
index.php
######################################

$Stats2 = $DB->query_object('
SELECT        count(movie_id) as total
FROM        {prefix}movie
');

$total = $Stats2->total+1;

$Template->Assign(array(
    'NEXTID'    => $Stats2->total,
    ));
######################################

Scriptet kører på en speciel måde sådan at jeg har nogle tpl filer som indgår i en switch og inde i de tpl filer har jeg et system der gør at hvis {NEXTID} indgår i tpl filen så bliver "$Stats2->total" kørt ud....

Eller rettere og sagt jeg ved ikke om det er specielt men smart er det vel?
Avatar billede dcheng Novice
13. februar 2004 - 02:18 #6
RETTELSE
######################################
index.php
######################################

$Stats2 = $DB->query_object('
SELECT        count(movie_id) as total
FROM        {prefix}movie
');

$total = $Stats2->total+1;

$Template->Assign(array(
    'NEXTID'    => $total,
    ));
######################################
Avatar billede tefcke Nybegynder
13. februar 2004 - 02:47 #7
Jeg er klar over hvad du vil, jeg forstår bare ikke det virker, for der er ikke noget galt med det du gør.
For hvis du siger at du har prøvet at gøre:
$total = $Stats2->total;
echo $total;

Og den printer f.eks. 37 ud, så burde det også virke hvis du gør:
$total = $Stats2->total + 1;
echo $total;

For at få tallet efter 37, altså 38.

Ligeledes burde dette virke:
$total = $Stats2->total;
$total++;
echo $total;

Som jeg skrev tidliger!
Avatar billede tipsen Nybegynder
13. februar 2004 - 09:49 #8
- enig med tefcke...
Avatar billede dcheng Novice
13. februar 2004 - 13:04 #9
Ja det burde det men lortet vil sku ikke men er det muligt at lave et javascript som ligger 1 til?
Avatar billede tefcke Nybegynder
13. februar 2004 - 13:06 #10
Har du prøvet det som jeg skrev tidliger med $total++?
Avatar billede dcheng Novice
13. februar 2004 - 13:10 #11
Yep giver samme problem
Avatar billede tefcke Nybegynder
13. februar 2004 - 13:16 #12
Så prøver vi noget helt andet.
Prøv følgende:
<?php
$total = $Stats2->total;
print "<p>Type: ".gettype($Stats2->total)." - Value: {$Stats2->total}</p>";
print "<p>Type: ".gettype($total)." - Value: {$total}</p>";
?>

Det output kunne jeg godt tænke mig at se!
Avatar billede dcheng Novice
13. februar 2004 - 13:20 #13
Det kan jeg ikke da jeg ikke kan printe direkte til dokumentet.
Avatar billede tefcke Nybegynder
13. februar 2004 - 13:26 #14
Det er php, du kan sgu da altid skrive til stdout!

Hvordan kan du så printe $total ud og se det har værdien 37 ??

Ellers smid det i en variabel og print det ud når du kan/vil:
<?php
$total = $Stats2->total;
$debug_str = "<p>Type: ".gettype($Stats2->total)." - Value: {$Stats2->total}</p>";
$debug_str .= "<p>Type: ".gettype($total)." - Value: {$total}</p>";

// Udskrive $debug_str når det er!
?>
Avatar billede dcheng Novice
13. februar 2004 - 13:30 #15
Det gør jeg hva...

$Template->Assign(array(
    'NEXTID'    => $total,
    ));


Også skriver jeg et sted i min tpl fil (ren html) {NEXTID} så kommer 37 ind på {NEXTID}'s plads
Avatar billede tefcke Nybegynder
13. februar 2004 - 13:37 #16
Men hvis du gør som jeg skrev, så står det i browseren... du kan evt. tilføje et exit() kald da du ikke er interesseret i at resten udføres!

Noget ala.:
<?php
$total = $Stats2->total;
print "<p>Type: ".gettype($Stats2->total)." - Value: {$Stats2->total}</p>";
print "<p>Type: ".gettype($total)." - Value: {$total}</p>";
exit("Bailing for debug purpose!");
?>
Avatar billede dcheng Novice
13. februar 2004 - 13:40 #17
tefcke har du messenger så kan jeg give dig mine koder?
Avatar billede tefcke Nybegynder
13. februar 2004 - 13:43 #18
Nej, det har jeg skam ikke!
Avatar billede dcheng Novice
13. februar 2004 - 13:52 #19
tefcke jeg kan godt forstå at du synes det er træls at jeg ikke "gør det færdigt" men jeg vil gerne det er bare fordi det er på en ret specielt måde det gøres på at jeg ikke kan få det printet ud hvis jeg skriver i php filen.... Man kan på en anden måde sige at det er ikke php filen som printes ud men TPL filen som bruger nogle værdier vha. php'en...

Det er svært at forklare... Sorry
Avatar billede tefcke Nybegynder
13. februar 2004 - 14:06 #20
Jeg er godt klar over hvordan et template system fungerer.
Men hvis du har en php fil og skriver print "..." så bliver det gud hjælp mig vist på skærmen (også selv om du bruger et template system)!
Avatar billede dcheng Novice
13. februar 2004 - 14:16 #21
Under alle omstændigheder vil jeg give dig ret... fordi jeg ikke er så hardcore til php endnu men jeg vil gerne have lov til at give dig de 30 point her fra samt ydeligere 200 point for at du har været så hjælpsom og aktiv... Smid et svar så kan vi få lukket det her jeg fornemmer du bliver irriteret over det her... du ahr fået max i karma fra mig...
Avatar billede tefcke Nybegynder
13. februar 2004 - 14:19 #22
Ellers kan du lige sende det til mig, så skal jeg kigge det igennem!

tefcke at diku dot dk
Avatar billede dcheng Novice
13. februar 2004 - 14:27 #23
Hva faen er det?
e-mail?
tefcke@diku.dk
Jeg vil sende det til dig med glæde men du behøver slet ikke...

Løsning
http://www.eksperten.dk/spm/464758

<script>
talfraphp = 37;
nyttal = parseInt(talfraphp)+1;
</script>
Avatar billede dcheng Novice
13. februar 2004 - 14:28 #24
<script>
talfraphp = {NEXTID};
nyttal = parseInt(talfraphp)+1;
</script>
Avatar billede tefcke Nybegynder
13. februar 2004 - 14:31 #25
Jeg er faktisk blevet pænt nysgerig over hvorfor det ikke virker, så jeg vil faktisk gerne se det selv om du har løst det!
Avatar billede dcheng Novice
13. februar 2004 - 14:32 #26
ok men er det din e-mail ?

tefcke@diku.dk
Avatar billede tefcke Nybegynder
13. februar 2004 - 14:35 #27
Ja!
Avatar billede medions Nybegynder
13. februar 2004 - 14:38 #28
LOL

dcheng> Han skrev det sådan fordi han ikke ønsker SPAM mails, så takket være dig for han ny SPAM mails :-D

//>Rune
Avatar billede dcheng Novice
13. februar 2004 - 14:40 #29
Sendt
Avatar billede dcheng Novice
23. maj 2004 - 15:55 #30
.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester