|
| 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/
| |
|
|