Avatar billede kimox Nybegynder
10. juni 2005 - 09:40 Der er 21 kommentarer og
1 løsning

Problem med count ?

Hej.

Øverst på min side har jeg følgende:

$pr_side = 6;
$antal = mysql_result(mysql_query("SELECT COUNT(*) FROM bixen_vrag_msg WHERE replyto='$id'"),0) or die(mysql_error());
$vis_fra = (isset($_GET["visfra"]) && is_numeric($_GET["visfra"]) && $_GET["visfra"] < $antal) ? $_GET["visfra"] : 0;
$res = mysql_query ("SELECT * FROM bixen_vrag_msg WHERE replyto='$id' ORDER BY id DESC limit $vis_fra, $pr_side") or die(mysql_error());



Hvis denne kode er der, og jeg vil køre min side uden at der ligger noget i min db med det følgende id, så har jeg lavet den her kode som den skal køre:

if (mysql_num_rows($res)== '0') {
      print "<center>Der er ingen kommentare skrevet!<br><br><input type=button value=\"Tilbage\" class=\"input\" onClick=\"java script: history.go(-1)\"></center>";
    } else {

men problemet er bare hvis der intet er, så køre den slet ikke siden, så fucker tabellen helt op..

Men går jeg ind og fjerne det og skriver en alm.
$res = mysql_query ("SELECT * FROM bixen_vrag_msg WHERE replyto='$id'") or die(mysql_error());

så udskriver den det fint nok!

Og den udskriver det også fint hvis den finder noget i min DB, så køre den fint else { i det script som tjekker om der står noget i min DB.. Håber i kan hjælpe mig med et eller andet med den skal tjekke først om der står noget i min DB hvis der gør det, så skal den køre den med $pr_side else { bare en alm. $res
Avatar billede sukos Juniormester
10. juni 2005 - 09:50 #1
if(mysql_result($antal, 0) !=0) {
alt det du nu vil.................
}
Avatar billede kimox Nybegynder
10. juni 2005 - 10:06 #2
if(mysql_result($antal, 0) !=0) {
$vis_fra = (isset($_GET["visfra"]) && is_numeric($_GET["visfra"]) && $_GET["visfra"] < $antal) ? $_GET["visfra"] : 0;
$res = mysql_query ("SELECT * FROM bixen_vrag_msg WHERE replyto='$id' ORDER BY id DESC limit $vis_fra, $pr_side") or die(mysql_error());
}

sådan ?
Avatar billede kimox Nybegynder
10. juni 2005 - 10:07 #3
eller i stedet for

if (mysql_num_rows($res)== '0') {
      print "<center>Der er ingen kommentare skrevet!<br><br><input type=button value=\"Tilbage\" class=\"input\" onClick=\"java script: history.go(-1)\"></center>";
    } else {
Avatar billede kimox Nybegynder
10. juni 2005 - 10:09 #4
problemet er jo den ik kan finde ud af at køre resten af siden hvis

$pr_side = 6;
$antal = mysql_result(mysql_query("SELECT COUNT(*) FROM bixen_vrag_msg WHERE replyto='$id'"),0) or die(mysql_error());
$vis_fra = (isset($_GET["visfra"]) && is_numeric($_GET["visfra"]) && $_GET["visfra"] < $antal) ? $_GET["visfra"] : 0;
$res = mysql_query ("SELECT * FROM bixen_vrag_msg WHERE replyto='$id' ORDER BY id DESC limit $vis_fra, $pr_side") or die(mysql_error());

dette ikke finder noget
Avatar billede sukos Juniormester
10. juni 2005 - 10:27 #5
Hvis nu du prøver en "alm. dødelig":
(og du kan heller "bare bruge" $antal)

<?php

$alle = mysql_result(mysql_query("SELECT COUNT(*) FROM bixen_vrag_msg WHERE replyto='$id'"),0) or die(mysql_error());
$antal = mysql_result($antal, 0);
mysql_free_result($alle);

if($antal > 0) {

$pr_side = 6;
$vis_fra = (isset($_GET["visfra"]) && is_numeric($_GET["visfra"]) && $_GET["visfra"] <
$antal) ? $_GET["visfra"] : 0;

$res = mysql_query ("SELECT * FROM bixen_vrag_msg WHERE replyto='$id' ORDER BY id DESC limit $vis_fra, $pr_side") or die(mysql_error());

    if(mysql_num_rows($res) !=0) {
    echo"Ok";
    }else{
    echo"Nixenbixen";
    }

mysql_free_result($res);

}else{
echo"Ingen resultater at vise";
}
?>
Avatar billede sukos Juniormester
10. juni 2005 - 10:28 #6
Hov for satan da.............

$alle = mysql_result(mysql_query("SELECT COUNT(*) FROM bixen_vrag_msg WHERE replyto='$id'"),0) or die(mysql_error());
$antal = mysql_result($alle, 0);
mysql_free_result($alle);
Avatar billede kimox Nybegynder
10. juni 2005 - 10:46 #7
Altså dette er hele min side nu:

<?php
require "db.php";
$alle = mysql_result(mysql_query("SELECT COUNT(*) FROM bixen_vrag_msg WHERE replyto='$id'"),0) or die(mysql_error());
$antal = mysql_result($alle, 0);
mysql_free_result($alle);
$pr_side = 6;
if($antal > 0) {

$pr_side = 6;
$vis_fra = (isset($_GET["visfra"]) && is_numeric($_GET["visfra"]) && $_GET["visfra"] <
$antal) ? $_GET["visfra"] : 0;

$res = mysql_query ("SELECT * FROM bixen_vrag_msg WHERE replyto='$id' ORDER BY id DESC limit $vis_fra, $pr_side") or die(mysql_error());

if(isset($_POST['submit'])) {
require 'db.php';
$sql1 = mysql_query("SELECT id, replyto FROM bixen_vrag_msg");
if($row=mysql_fetch_array($sql1)) {
$godkendt = $_POST['godkendt'];
$id = $row['id'];
$replyto = $row['replyto'];
}
mysql_query("UPDATE bixen_vrag_msg SET godkendt='$godkendt' WHERE replyto ='$id'") or die(mysql_error());
echo "<div align=\"center\" class=\"tekst_linkThin\">Kommentar opdagteret</div>";
}
if(mysql_result($antal, 0) !=0) {
if (mysql_num_rows($res)== '0') {
      print "<center>Der er ingen kommentare skrevet!<br><br><input type=button value=\"Tilbage\" class=\"input\" onClick=\"java script: history.go(-1)\"></center>";
    } else {
    echo"<table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">
  <tr bgcolor=\"5175A5\">
    <td width=\"31%\"><span class=\"bil\">Model:</span></td>
    <td width=\"19%\"><span class=\"bil\">Navn:</span></td>
    <td width=\"36%\"><span class=\"bil\">Kommentar:</span></td>
    <td width=\"14%\"><span class=\"bil\">Godkendt:</span></td>
  </tr>";
while($row = mysql_fetch_array($res)) {
$replyto = $row['replyto'];
echo "<tr>
    <td>";
$sql = "SELECT model FROM bixen_vrag WHERE id ='$replyto'";
$model = mysql_query($sql);
if (mysql_num_rows($model) < '0') {
echo "&nbsp;"; } else {
echo mysql_result($model, '$row[model]' );
}
echo"</td>
<td>";
if (!isset($row['navn'])) { echo "&nbsp;"; } else {
echo $row['navn'];
}
echo "</td>
    <td>";
if (!isset($row['besked'])) { echo "&nbsp;"; } else {
$besked = explode(" ", $row["besked"]);
$besked = array_slice($besked, 0, 30);
$besked = implode(" ", $besked);
echo $besked;
}
echo "</td>
    <td valign=\"top\">";
if (!isset($row['godkendt'])) { echo "&nbsp;"; } else {
echo "<form action=\"valgtvrag.php?id=$id\" name=\"godkendt\" method=\"POST\">";
$sql2 = mysql_query("SELECT godkendt FROM bixen_vrag_msg");
$godkendt = $row['godkendt'];
if($row=mysql_fetch_array($sql2)) {
echo "<select size=\"1\" name=\"godkendt\">";
if ($godkendt =="NEJ") print('<option value="NEJ" selected>Nej</option>');
else print('<option value="NEJ">Nej</option>');
if ($godkendt =="JA") print('<option value="JA" selected>Ja</option>');
else print('<option value="JA">Ja</option>');
}
echo "</select>";
echo "<input type=\"submit\" name=\"submit\" value=\"Opdagter\"></form>";
}
echo"</td>
  </tr>";
echo "<tr>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      </tr>";
  }
echo "</table>";
?>
<?
if ($antal > $pr_side)
{
echo "<hr noshade color=\"#00000\" size=\"1\">\n";
$sql3 = mysql_query ("SELECT id FROM bixen_vrag WHERE id='$id'") or die(mysql_error());
while($row = mysql_fetch_array($sql3)) {
if ($vis_fra > 0) {
$back= $vis_fra - $pr_side;
echo "<a href='$_SERVER[PHP_SELF]?id=$row[id]&visfra=$back'>Forrige</a> ";
}
$page = 1;
for ($start = 0; $antal > $start; $start = $start + $pr_side) {
if($vis_fra != $page * $pr_side - $pr_side) {
echo "<a href='$_SERVER[PHP_SELF]?id=$row[id]&visfra=$start'>$page</a> ";
} else {
echo $page." ";
}
$page++;
}
if ($vis_fra < $antal - $pr_side) {
$next = $vis_fra + $pr_side;
echo " <a href='$_SERVER[PHP_SELF]?id=$row[id]&visfra=$next'>Næste</a>";
}
}
}
}
}
}
?>
<? include "slut.php"; ?>


men jeg får skæld ud her:

$antal = mysql_result($alle, 0);
mysql_free_result($alle);

hehe .. der skriver den:
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in
Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in
Avatar billede sukos Juniormester
10. juni 2005 - 11:04 #8
Ja, det er jo mig der en bøf!
Prøv at ændre:
$alle = mysql_result(mysql_query("SELECT COUNT(*) FROM bixen_vrag_msg WHERE replyto='$id'"),0) or die(mysql_error());

til

$alle = mysql_query("SELECT COUNT(*) FROM bixen_vrag_msg WHERE replyto='$id'") or die(mysql_error());
Avatar billede sukos Juniormester
10. juni 2005 - 11:05 #9
Eller:
$alle = mysql_query("SELECT COUNT(id) FROM `bixen_vrag_msg` WHERE `replyto` =". intval($id) ."") or die(mysql_error());

hvis din $id er et tal og hver række har et "id" felt
Avatar billede kimox Nybegynder
10. juni 2005 - 11:25 #10
Yes så langt så godt.. nu fucker den ik siden når der ikke bliver fundet nogle id'er.. men den skriver ikke if (mysql_num_rows($res)== '0') {
      print "<center>Der er ingen kommentare skrevet!<br><br><input type=button value=\"Tilbage\" class=\"input\" onClick=\"java script: history.go(-1)\"></center>";
    } else {
denne ud...
Avatar billede sukos Juniormester
10. juni 2005 - 11:29 #11
strenge skal bruge ' eller "
Det behøver du ikke med tal, og er faktisk forkert.

if (mysql_num_rows($res) == 0) {
      print "<center>Der er ingen kommentare skrevet!<br><br><input type=button value=\"Tilbage\" class=\"input\" onClick=\"java script: history.go(-1)\"></center>";
    } else {
Avatar billede sukos Juniormester
10. juni 2005 - 11:29 #12
Og måske det manglende mellem?
mysql_num_rows($res)== '0')
mysql_num_rows($res) == '0')
Avatar billede kimox Nybegynder
10. juni 2005 - 11:36 #13
det virkede heller ik lige.. Men altså, det er lige meget hvis det ik virker, ville bare være smartest.. siden fucker i det mindste ik op mere :).

smider du et svar hvis du ik har en anden løsning :)?.. og vil du måske hjælpe mig færdig her:

http://www.eksperten.dk/spm/624650
Avatar billede sukos Juniormester
10. juni 2005 - 11:49 #14
joh, kan jeg, men smid selv et svar også!
Du skal ikke "frådse" med point'ne :O)

Men hvad siger den her:

<?php

$alle = mysql_query("SELECT COUNT(id) FROM bixen_vrag_msg WHERE replyto = ". intval($id) ."") or die(mysql_error());
$antal = mysql_result($alle, 0);
mysql_free_result($alle);

if($antal > 0) {

$pr_side = 6;
$vis_fra = (isset($_GET["visfra"]) && is_numeric($_GET["visfra"]) && $_GET["visfra"] <
$antal) ? $_GET["visfra"] : 0;

$res = mysql_query ("SELECT * FROM bixen_vrag_msg WHERE replyto = ". intval($id) ." ORDER BY id DESC limit $vis_fra, $pr_side") or die(mysql_error());

    if(mysql_num_rows($res) !=0) {
    echo"Ok";
    }else{
    echo"Nixenbixen";
    }

mysql_free_result($res);

}else{
echo"Ingen resultater at vise";
}
?>
Avatar billede kimox Nybegynder
10. juni 2005 - 11:51 #15
hvis jeg skriver den modsat, altså sådan her:

if(mysql_num_rows($alle) !=0) {


så skriver den det der med at der ingen findes, der hvor der faktisk er nogle id'er..
Avatar billede sukos Juniormester
10. juni 2005 - 12:18 #16
$alle er den som "counter" og ikke den som henter :O)
Avatar billede kimox Nybegynder
10. juni 2005 - 12:25 #17
hehe nemlig :D.. men jeg har bare byttet om på det, så det virker fint nu :D.. var du sød og hjælpe mig færdig med den submit som du var startet med at hjælpe på hehe.. for så kan jeg erklære den side færdig ;) ..

Siden som den er nu:

<?php
require "db.php";
$alle = mysql_query("SELECT COUNT(id) FROM `bixen_vrag_msg` WHERE `replyto` =". intval($id) ."") or die(mysql_error());
$antal = mysql_result($alle, 0);
mysql_free_result($alle);
if($antal > 0) {

$pr_side = 6;
$vis_fra = (isset($_GET["visfra"]) && is_numeric($_GET["visfra"]) && $_GET["visfra"] <
$antal) ? $_GET["visfra"] : 0;

$res = mysql_query ("SELECT * FROM bixen_vrag_msg WHERE replyto='$id' ORDER BY id DESC limit $vis_fra, $pr_side") or die(mysql_error());

if(isset($_POST['submit'])) {
require 'db.php';
$sql1 = mysql_query("SELECT id, replyto FROM bixen_vrag_msg");
if($row=mysql_fetch_array($sql1)) {
$godkendt = $_POST['godkendt'];
$id = $row['id'];
$replyto = $row['replyto'];
}
mysql_query("UPDATE bixen_vrag_msg SET godkendt='$godkendt' WHERE replyto ='$id'") or die(mysql_error());
echo "<div align=\"center\" class=\"tekst_linkThin\">Kommentar opdagteret</div>";
}
if(mysql_num_rows($res) !=0) {
          echo"<table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">
  <tr bgcolor=\"5175A5\">
    <td width=\"31%\"><span class=\"bil\">Model:</span></td>
    <td width=\"19%\"><span class=\"bil\">Navn:</span></td>
    <td width=\"36%\"><span class=\"bil\">Kommentar:</span></td>
    <td width=\"14%\"><span class=\"bil\">Godkendt:</span></td>
  </tr>";
while($row = mysql_fetch_array($res)) {
$replyto = $row['replyto'];
echo "<tr>
    <td>";
$sql = "SELECT model FROM bixen_vrag WHERE id ='$replyto'";
$model = mysql_query($sql);
if (mysql_num_rows($model) < '0') {
echo "&nbsp;"; } else {
echo mysql_result($model, '$row[model]' );
}
echo"</td>
<td>";
if (!isset($row['navn'])) { echo "&nbsp;"; } else {
echo $row['navn'];
}
echo "</td>
    <td>";
if (!isset($row['besked'])) { echo "&nbsp;"; } else {
$besked = explode(" ", $row["besked"]);
$besked = array_slice($besked, 0, 30);
$besked = implode(" ", $besked);
echo $besked;
}
echo "</td>
    <td valign=\"top\">";
if (!isset($row['godkendt'])) { echo "&nbsp;"; } else {
echo "<form action=\"valgtvrag.php?id=$id\" name=\"godkendt\" method=\"POST\">";
$sql2 = mysql_query("SELECT godkendt FROM bixen_vrag_msg");
$godkendt = $row['godkendt'];
if($row=mysql_fetch_array($sql2)) {
echo "<select size=\"1\" name=\"godkendt\">";
if ($godkendt =="NEJ") print('<option value="NEJ" selected>Nej</option>');
else print('<option value="NEJ">Nej</option>');
if ($godkendt =="JA") print('<option value="JA" selected>Ja</option>');
else print('<option value="JA">Ja</option>');
}
echo "</select>";
echo "<input type=\"submit\" name=\"submit\" value=\"Opdagter\"></form>";
}
echo"</td>
  </tr>";
echo "<tr>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      </tr>";
  }
echo "</table>";
?>
<?
if ($antal > $pr_side)
{
echo "<hr noshade color=\"#00000\" size=\"1\">\n";
$sql3 = mysql_query ("SELECT id FROM bixen_vrag WHERE id='$id'") or die(mysql_error());
while($row = mysql_fetch_array($sql3)) {
if ($vis_fra > 0) {
$back= $vis_fra - $pr_side;
echo "<a href='$_SERVER[PHP_SELF]?id=$row[id]&visfra=$back'>Forrige</a> ";
}
$page = 1;
for ($start = 0; $antal > $start; $start = $start + $pr_side) {
if($vis_fra != $page * $pr_side - $pr_side) {
echo "<a href='$_SERVER[PHP_SELF]?id=$row[id]&visfra=$start'>$page</a> ";
} else {
echo $page." ";
}
$page++;
}
if ($vis_fra < $antal - $pr_side) {
$next = $vis_fra + $pr_side;
echo " <a href='$_SERVER[PHP_SELF]?id=$row[id]&visfra=$next'>Næste</a>";
}
}
}
}
  } else {
print "<center>Der er ingen kommentare skrevet!<br><br><input type=button value=\"Tilbage\" class=\"input\" onClick=\"java script: history.go(-1)\"></center>";


}
?>

Den skal kun gemme i det id som man trykker opdagter ud for :)
Avatar billede sukos Juniormester
10. juni 2005 - 14:03 #18
Noget forvirrende din kode der :O)

Men det må jo være noget a'la'

if(isset($_POST['submit'], $_POST['godkendt'], $_GET['id'])) {
require 'db.php';
$sql1 = mysql_query("SELECT id, replyto FROM bixen_vrag_msg WHERE id = ". intval($_GET["id"]) ."");
if(mysql_num_rows($sql1) == 1) {
$godkendt = $_POST['godkendt'];
//$id = $row['id'];
//$replyto = $row['replyto'];
mysql_query("UPDATE bixen_vrag_msg SET godkendt='$godkendt' WHERE id =". intval($_GET["id"]) ."") or die(mysql_error());
echo "<div align=\"center\" class=\"tekst_linkThin\">Kommentar opdagteret</div>";
}
}
Avatar billede kimox Nybegynder
10. juni 2005 - 15:09 #19
det virker desværre ik :/.. der gør den slet ingen ting.. den kommer heller ikke med en fejl :o(.
Avatar billede kimox Nybegynder
10. juni 2005 - 15:10 #20
altså jeg kunne få den til at ændre 1 af de felter jeg har ved at sige id = $id .. men så virkede det kun på en, for den får åbenbart id fast et sted
Avatar billede kimox Nybegynder
14. juni 2005 - 15:48 #21
ingen hjælp eller hvad?
Avatar billede kimox Nybegynder
01. november 2005 - 12:45 #22
-lukket-
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