Avatar billede noob2003 Nybegynder
18. april 2005 - 22:40 Der er 17 kommentarer og
1 løsning

if count mindre en 9 problem

jeg har følgende script, hvor den skal den skrive 0 og +1 hvis count er under 10, men det virker ikke hvad gør jeg galt.

<?
mysql_connect("localhost","ftpserver","ftpserver");
mysql_select_db("powerdns");
$result=mysql_query("select count(*) as antal from records where content = 2005041400");
$row=mysql_fetch_row($result);
if ($count <= 10) {
echo date("Ymd"),'0',$row[0] +1;
}else
echo date("Ymd"),$row[0] +1;
?>
Avatar billede nielle Nybegynder
18. april 2005 - 22:45 #1
Virker ikke? Hvad sker der da?

Du kan ihvertfald starte med at rette til:

if ($count < 10) {
...

(Forresten er 200 points lidt i overkanten for et spørgsmål af denne art!)
Avatar billede ranglen Nybegynder
18. april 2005 - 22:50 #2
hvad er $count ?

prøv med

$row[0] i stedet for
Avatar billede noob2003 Nybegynder
18. april 2005 - 22:59 #3
hmm virker ikke
Avatar billede nielle Nybegynder
18. april 2005 - 23:05 #4
$row=mysql_fetch_row("antal");
Avatar billede nielle Nybegynder
18. april 2005 - 23:07 #5
mysql_query("select count(*) as antal from records where content = 2005041400");
$row = mysql_fetch_row($result);
if ($row < 10)
{
  echo date("Ymd"), '0', $row[0] + 1;
}
else
{
  echo date("Ymd"),$row[0] + 1;
}
Avatar billede nielle Nybegynder
18. april 2005 - 23:07 #6
mysql_query("select count(*) as antal from records where content = 2005041400");
$row = mysql_fetch_row("antal");
if ($row < 10)
{
  echo date("Ymd"), '0', $row[0] + 1;
}
else
{
  echo date("Ymd"),$row[0] + 1;
}
Avatar billede noob2003 Nybegynder
18. april 2005 - 23:13 #7
kommer med fejl
Avatar billede noob2003 Nybegynder
18. april 2005 - 23:18 #8
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in d:\programmer\nusphere\techplat\apache\htdocs\dns\t1.php on line 5
2005041801
Avatar billede noob2003 Nybegynder
18. april 2005 - 23:30 #9
Har fået det til at virke nu ????

$result=mysql_query("select count(*) as antal from records where content = 2005041400");
$row=mysql_fetch_row($result);
if ($row[0] < 9) {
echo date("Ymd"),'0',$row[0] +1;
}else{
echo date("Ymd"),$row[0] +1;
Avatar billede nielle Nybegynder
19. april 2005 - 06:30 #10
Hvis du nu tjekker med:

if ($row[0] < 10) { ...

så er der ingen grund til at lægge 1 til nede i dine echo-sætninger.
Avatar billede Slettet bruger
19. april 2005 - 08:29 #11
Er det ikke bare sådan noget ala det her:

<?
mysql_connect("localhost","ftpserver","ftpserver");
mysql_select_db("powerdns");
$result = mysql_query("SELECT COUNT(*) FROM records WHERE content = 2005041400");
$count = mysql_result($result, 0, 0);
echo date("Ymd") . printf("%02d", ($count + 1));
?>

? Altså at den lægger 1 til antallet af rækker i tabel WHERE osv.. og derefter skriver tallet ud som 2-cifret.?

Du skal forøvrigt lige vide at det er væsentlig hurtigere for PHP at parse en echo kommando som er kankateneret istedet for komma sepereret.
good: echo "My " . $string;
bad: echo "My ", $string;
Avatar billede Slettet bruger
19. april 2005 - 08:46 #12
Den sidste linie:
echo date("Ymd") . printf("%02d", ($count + 1));

Skulle have været:
echo date("Ymd") . sprintf("%02d", ($count + 1));
Avatar billede noob2003 Nybegynder
19. april 2005 - 11:36 #13
gartzen>> okay men hvordan kan jeg få den til at blive til $serial ??
Avatar billede Slettet bruger
19. april 2005 - 11:41 #14
<?
mysql_connect("localhost","ftpserver","ftpserver");
mysql_select_db("powerdns");
$result = mysql_query("SELECT COUNT(*) FROM records WHERE content = 2005041400");
$count = mysql_result($result, 0, 0);
$serial = date("Ymd") . printf("%02d", ($count + 1));
?>

:)
Avatar billede noob2003 Nybegynder
19. april 2005 - 11:53 #15
virker ikke helt den skriver 10200504192 ved der er 9 2005041400

<?
mysql_connect("localhost","ftpserver","ftpserver");
mysql_select_db("powerdns");
$result = mysql_query("SELECT COUNT(*) FROM records WHERE content = 2005041400");
$count = mysql_result($result, 0, 0);
$serial = date("Ymd") . printf("%02d", ($count + 1));
echo $serial;
?>
Avatar billede Slettet bruger
19. april 2005 - 11:55 #16
Det var mig der kom til at kopiere den samme fejl jeg lavede før som jeg rettede i 19/04-2005 08:46:31.. Sorry..

MED $serial og UDEN fejl:

<?
mysql_connect("localhost","ftpserver","ftpserver");
mysql_select_db("powerdns");
$result = mysql_query("SELECT COUNT(*) FROM records WHERE content = 2005041400");
$count = mysql_result($result, 0, 0);
$serial = date("Ymd") . sprintf("%02d", ($count + 1));
echo $serial;
?>

;)
Avatar billede noob2003 Nybegynder
19. april 2005 - 11:59 #17
Så kør den bare derud af Weee

Smider du et svar så jeg kan uddele points ;)

<?
$dato = date("Ymd");
mysql_connect("localhost","ftpserver","ftpserver");
mysql_select_db("powerdns");
$result = mysql_query("SELECT COUNT(*) FROM records WHERE content = $dato");
$count = mysql_result($result, 0, 0);
$serial = date("Ymd") . sprintf("%02d", ($count + 1));
echo $serial;
?>
Avatar billede Slettet bruger
19. april 2005 - 12:08 #18
svar.. :)
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