/ 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
dns serial number funktion
Fra : Maddog


Dato : 18-04-05 14:40

Hej NG

Det jeg søger er lidt hjælp til hvordan jeg kan få en funktion til at søge
på datoopret = dagens dato (20050418),
er ikke hammer god til if funktionen endnu men et eller andet med

$result=mysql_query("select count(*) as antal from datoopret where
datoopret
= 20050418");
$row=mysql_fetch_row($result);

også hvis den er fra 0 til 9 skal den skrive 01 til 09 og ellers normalt
opefter så output det bliver 2005041801 osv

ps. er ikke sikker på mysql query er rigtig




 
 
Jacob Atzen (18-04-2005)
Kommentar
Fra : Jacob Atzen


Dato : 18-04-05 18:32

On 2005-04-18, Maddog <maddog@news.dk> wrote:
> Det jeg søger er lidt hjælp til hvordan jeg kan få en funktion til at søge
> på datoopret = dagens dato (20050418),
> er ikke hammer god til if funktionen endnu men et eller andet med

if er ikke en funktion, men en sprogkonstruktion. Funktioner tager et
input med 0 eller flere argumenter og returnerer et output.

> $result=mysql_query("select count(*) as antal from datoopret where
> datoopret
>= 20050418");
> $row=mysql_fetch_row($result);
>
> også hvis den er fra 0 til 9 skal den skrive 01 til 09 og ellers normalt
> opefter så output det bliver 2005041801 osv

$var = sprintf("%s%02d", date('Ymd'), $row['count(*)']);

--
Med venlig hilsen
- Jacob Atzen

Maddog (18-04-2005)
Kommentar
Fra : Maddog


Dato : 18-04-05 20:44


"Jacob Atzen" <jacob@aub.dk> skrev i en meddelelse
news:slrnd67rp1.h2.jacob@tank.aub.dk...

> $var = sprintf("%s%02d", date('Ymd'), $row['count(*)']);
og hvor skal jeg sætte det ind ???




Søren Vesti (18-04-2005)
Kommentar
Fra : Søren Vesti


Dato : 18-04-05 20:50

> og returnerer et output.

Ja det behøver en funktion nu ikke at gøre så vidt jeg ved hvis den fx ser
sådan her ud

function echoString($string){

echo "$string";

}

så udfører den en operation men returnerer da ikke noget, eller har jeg
misforstået noget i PHP sammenhæng

hilsen

Søren

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

Maddog (18-04-2005)
Kommentar
Fra : Maddog


Dato : 18-04-05 21:00

i" <aquila@stofanet.dk> skrev i en meddelelse
news:42640f7c$0$79454$14726298@news.sunsite.dk...
> > og returnerer et output.
>
> Ja det behøver en funktion nu ikke at gøre så vidt jeg ved hvis den fx
ser
> sådan her ud
>
> function echoString($string){
>
> echo "$string";
>
hvor går det galt her ??

<?
mysql_connect("localhost","root","");
mysql_select_db("dns");
$result=mysql_query("select count(*) as antal from records where content =
2005041400");
$row=mysql_fetch_row($result);
$var = sprintf("%s%02d", date('Ymd'), $row['count(*)']);
function echoString($string){

echo "$string";

?>



Jacob Atzen (18-04-2005)
Kommentar
Fra : Jacob Atzen


Dato : 18-04-05 21:53

On 2005-04-18, Søren Vesti <aquila@stofanet.dk> wrote:
> Ja det behøver en funktion nu ikke at gøre så vidt jeg ved hvis den fx ser
> sådan her ud
>
> function echoString($string){
>
> echo "$string";
>
> }
>
> så udfører den en operation men returnerer da ikke noget, eller har jeg
> misforstået noget i PHP sammenhæng

Jo, den returnerer i så fald NULL. Du kan jo prøve at lave en:

var_dump(echoString(''));

Hvorfor du også kan tildele returværdien til en variabel:

$var = echoString('');

--
Med venlig hilsen
- Jacob Atzen

Maddog (18-04-2005)
Kommentar
Fra : Maddog


Dato : 18-04-05 22:16

ok jeg har forsøgt at lave et script nu men den vil ikke virke når count =
9
+1 skal den ikke sætte 0 imellem, hvad gør jeg galt ???


<?
mysql_connect("localhost","root","");
mysql_select_db("dns");
$result=mysql_query("select count(*) as antal from records where datoopret
=
20050414");
$row=mysql_fetch_row($result);
if ($row < 10)
{
echo date("Ymd"), '0', $row[0] + 1;
}
else
{
echo date("Ymd"),$row[0] + 1;
}
?>




Martin (19-04-2005)
Kommentar
Fra : Martin


Dato : 19-04-05 04:24

Maddog wrote:
> ok jeg har forsøgt at lave et script nu men den vil ikke virke når count =
> 9
> +1 skal den ikke sætte 0 imellem, hvad gør jeg galt ???
>
>
> <?
> mysql_connect("localhost","root","");
> mysql_select_db("dns");
> $result=mysql_query("select count(*) as antal from records where datoopret
> =
> 20050414");
> $row=mysql_fetch_row($result);

prøv at lave en var_dump($row) og se hvad den returnerer.

Jacob Atzen (19-04-2005)
Kommentar
Fra : Jacob Atzen


Dato : 19-04-05 07:06

On 2005-04-18, Maddog <maddog@news.dk> wrote:
> ok jeg har forsøgt at lave et script nu men den vil ikke virke når
> count = 9+1 skal den ikke sætte 0 imellem, hvad gør jeg galt ???

[snip]
> if ($row < 10)

Her checker du om $row < 10, men $row er jo slet ikke et tal, så din
sammenligning giver ikke mening. Du vil formentlig checke om $row[0] <
10.

> {
> echo date("Ymd"), '0', $row[0] + 1;
> }

Husk på, at du også løber ind i ovenstående tilfælde, når $row[0] = 9,
hvorfor du vil få udskrevet 010.

--
Med venlig hilsen
- Jacob Atzen

Søren Vesti (19-04-2005)
Kommentar
Fra : Søren Vesti


Dato : 19-04-05 19:07


> Jo, den returnerer i så fald NULL. Du kan jo prøve at lave en:
>
> var_dump(echoString(''));
>
> Hvorfor du også kan tildele returværdien til en variabel:
>
> $var = echoString('');
>

hej Jacob

Så lærte jeg også noget i dag tak for det

Søren


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

Per Thomsen (19-04-2005)
Kommentar
Fra : Per Thomsen


Dato : 19-04-05 17:02

Maddog wrote:
> Hej NG
[klip]
>
> $result=mysql_query("select count(*) as antal from datoopret where
> datoopret
> = 20050418");
> $row=mysql_fetch_row($result);
>
> også hvis den er fra 0 til 9 skal den skrive 01 til 09 og ellers normalt
> opefter så output det bliver 2005041801 osv
>

Hvad med f.eks.:

$result=mysql_query("select count(*) as antal from datoopret where
datoopret = 20050418");
$noOfRows = mysql__result($result, 0, 'antal');

for($i=1; $i<=$noOfRows; $i++) {
   printf("20050418%d2.0", $i);
}

Eller...

$result=mysql_query("select count(*) as antal from datoopret where
datoopret = 20050418");
$noOfRows = mysql__result($result, 0, 'antal');

for($i=1; (($i<=$noOfRows)&&($i<10)); $i++) {
echo "200504180".$i;
}
for(;($i<=$noOfRows); $i++) {
echo "20050418".$i;
}


MVH Per Thomsen,
http://www.pert.dk/

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

Månedens bedste
Årets bedste
Sidste års bedste