Avatar billede inctor Nybegynder
05. januar 2006 - 21:58 Der er 58 kommentarer og
1 løsning

en fejl i php som jeg ikk lige kan se ?

Haii , her er min kode:


$select_mobil = mysql_query("SELECT * FROM cnmobil WHERE username=$username ");
$row_cnm = mysql_fetch_array($select_mobil);

if(mysql_num_rows($select_post)>0) {
$read = "Du har Post, tryk <a href=\"post.php\">her</a>";
}
if($row_cnm[username] == $row_info[username]) {
mysql_query("UPDATE cnmobil SET visits = visits+1 WHERE(username=".$row_info['username'].")");
} else {
mysql_query("insert into cnmobil(username)values(".$row_info['username'].")");
mysql_query("UPDATE cnmobil SET visits = visits+1 WHERE(username=".$row_info['username'].")");
}

jeg får en fejl i linie 81 og linie 81 er:

$row_cnm = mysql_fetch_array($select_mobil);

den kan osse ses i koden ovenover ..
hva er fejlen ?
Avatar billede leif Seniormester
05. januar 2006 - 21:58 #1
Hvad siger PHP om den præcise fejl ?
Avatar billede inctor Nybegynder
05. januar 2006 - 22:00 #2
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\websider\vhosts\2cool4you.dk\httpdocs\cnmobil\loginok.php on line 81
Avatar billede leif Seniormester
05. januar 2006 - 22:01 #3
En god idé er at på dine SQL sætninger at smide en or die på, så kan du få en meget præcis fejl meddelelse hvis det er den der fejler.

$select_mobil = mysql_query("SELECT * FROM cnmobil WHERE username=$username ") or die ("Der skete følgende fejl ved select_mobil: ".mysql_error()."");
Avatar billede inctor Nybegynder
05. januar 2006 - 22:01 #4
forresten er mine Query's rigtige?
Avatar billede erikjacobsen Ekspert
05. januar 2006 - 22:02 #5
Formentlig

$select_mobil = mysql_query("SELECT * FROM cnmobil WHERE username='$username' ") or die(mysql_error());

Husk den der med mysql_error, ellers får du ikke at vide hvad der er galt
Avatar billede inctor Nybegynder
05. januar 2006 - 22:03 #6
nu er der ingen fejl? satte kun den der mysql error på ..
der er ' ' rundt om, derfor .. ;D
Avatar billede inctor Nybegynder
05. januar 2006 - 22:04 #7
nu Inserter den ikke ..
Avatar billede leif Seniormester
05. januar 2006 - 22:05 #8
Inserter hvor ?
Avatar billede nielle Nybegynder
05. januar 2006 - 22:05 #9
$select_mobil = mysql_query("SELECT * FROM cnmobil WHERE username=$username") or die(mysql_error());
$row_cnm = mysql_fetch_array($select_mobil);

if (mysql_num_rows($select_post) > 0)
{
    $read = "Du har Post, tryk <a href=\"post.php\">her</a>";

    if ($row_cnm["username"] == $row_info["username"])
    {
        mysql_query("UPDATE cnmobil SET visits = visits+1 WHERE username='" . $row_info['username'] . "'") or die(mysql_error());
    }
    else
    {
        mysql_query("INSERT INTO cnmobil (username, visits) VALUES ('" . $row_info["username"] . "', 1)") or die(mysql_error());
    }
}
Avatar billede nielle Nybegynder
05. januar 2006 - 22:06 #10
... og ret også:

$select_mobil = mysql_query("SELECT * FROM cnmobil WHERE username=$username") or die(mysql_error());

- til:

$select_mobil = mysql_query("SELECT * FROM cnmobil WHERE username='$username'") or die(mysql_error());
Avatar billede inctor Nybegynder
05. januar 2006 - 22:10 #11
hmm, Nielle din virker ikke, den updater ikke.. med ens username ..
Avatar billede inctor Nybegynder
05. januar 2006 - 22:10 #12
vil i have hele koden eller ?
Avatar billede inctor Nybegynder
05. januar 2006 - 22:12 #13
nu updater den, men den indsætter ikke ens username ..
Avatar billede nielle Nybegynder
05. januar 2006 - 22:16 #14
Kan det ikke bare klares med:

$select_mobil = mysql_query("SELECT * FROM cnmobil WHERE username='$username'") or die(mysql_error());
if (mysql_num_rows($select_post) > 0)
{
    $read = "Du har Post, tryk <a href=\"post.php\">her</a>";

    mysql_query("UPDATE cnmobil SET visits = visits+1 WHERE username='$username'") or die(mysql_error());
}
else
{
    mysql_query("INSERT INTO cnmobil (username, visits) VALUES ('$username', 1)") or die(mysql_error());
}
Avatar billede inctor Nybegynder
05. januar 2006 - 22:20 #15
jo hvis jeg retter '$username' til '$row_info[username]' .. :D MeeN hvem skal have point ? i har jo mere eller mindre hjulpet alle sammen, men en af jer har givet mig løsningen .. Såå ?
Avatar billede inctor Nybegynder
05. januar 2006 - 22:22 #16
nu skal jeg bruge en som tæller hvor mange gange den side har været vist, den skal hente rækken visits fra tabllen cnmobil, så skal den ligge alle værdierne i alle visits felterne sammen og udskrive dem, hvorn kan det gøres nemmest ?
Avatar billede nielle Nybegynder
05. januar 2006 - 22:23 #17
"SELECT sum(visits) AS visitTotal FROM cnmobil"
Avatar billede inctor Nybegynder
05. januar 2006 - 22:26 #18
$select_visits = mysql_query("SELECT sum(visits) AS visitsTotal FROM cnmobil");
$se_vi = mysql_fetch_array($select_visits);

echo " $se_vi[???????]";


Sån ? og hvad skal skrives i $se_vi[  ] ?
Avatar billede nielle Nybegynder
05. januar 2006 - 22:29 #19
$query = mysql_query("SELECT sum(visits) AS visitTotal FROM cnmobil") or die(mysql_error());
$row = mysql_fetch_assoc($query);
echo "Total antal visitter: " . $row["visitTotal"] . "<br>";
Avatar billede inctor Nybegynder
05. januar 2006 - 22:30 #20
hva forskellen på Assoc og Array ?
Avatar billede nielle Nybegynder
05. januar 2006 - 22:32 #21
Assoc er mig bekendt mere effektiktiv mht resourcer - den prøver ikke at være så alsidig som Array.
Avatar billede inctor Nybegynder
05. januar 2006 - 22:33 #22
okey .. hvad hvis man skal lave en procent del? altså tælle hvor mange brugere der har brugt og så finde ud af hvor stor en procent del den enkelte bruger udgør . ?
Avatar billede nielle Nybegynder
05. januar 2006 - 22:35 #23
Prøv lige at formulere den anderledes ... forstod ikke meget af hvad du ønsker. Brugt af hvad?
Avatar billede inctor Nybegynder
05. januar 2006 - 22:38 #24
den skal tælle hvor mange username's der er i tabellen cnmobil, og så finde ud af hvor mange procent den enkelte bruger udgør .. jeg fandt denne her:

$select_info = mysql_query("SELECT * FROM users WHERE(id='$id')") or die(mysql_error());
$row_info = mysql_fetch_array($select_info);

$procent = $row_info[spir]/$row_info2[spirialt]*100;

print "
du ejer <b>".substr($procent,0,5)."</b> %.<br> ";


men forstår ikk lige at skrive den om til usernames istedet for spir ..
Avatar billede inctor Nybegynder
05. januar 2006 - 22:39 #25
$select_info2 = mysql_query("SELECT sum(spir) AS spirialt FROM users");
$row_info2 = mysql_fetch_array($select_info2);
Avatar billede nielle Nybegynder
05. januar 2006 - 22:41 #26
Et bud:

$query = mysql_query("SELECT sum(visits) AS visitTotal FROM cnmobil") or die(mysql_error());
$row = mysql_fetch_assoc($query);
$visitTotal = $row["visitTotal"];

$query = mysql_query("SELECT visits/$visitTotal*100 AS visitsProcent FROM cnmobil") or die(mysql_error());
while ($row = mysql_fetch_assoc($query))
{
    echo $row["username"] . " " . $row["visitsProcent"] . " %<br>";
}
Avatar billede inctor Nybegynder
05. januar 2006 - 22:43 #27
Hmm, den startede på 107 % og for hver gang at visits blir højere falder den, det ikk visits den skal tælle, men brugere ..
Avatar billede nielle Nybegynder
05. januar 2006 - 22:46 #28
Lyder mystisk, men så prøv da denne i stedet:

$query = mysql_query("SELECT sum(visits) AS visitTotal FROM cnmobil") or die(mysql_error());
$row = mysql_fetch_assoc($query);
$visitTotal = $row["visitTotal"];

$query = mysql_query("SELECT visits FROM cnmobil") or die(mysql_error());
while ($row = mysql_fetch_assoc($query))
{
    echo $row["username"] . " " . (100.0 * $row["visits"]/$visitTotal) . " %<br>";
}
Avatar billede inctor Nybegynder
05. januar 2006 - 22:47 #29
der står stadig: sum(visits) AS visitTotal  det betyder jo den tar summen af visitsne .. eller ?
Avatar billede nielle Nybegynder
05. januar 2006 - 22:49 #30
Ja, men vi er nu også nødt til at kende antallet før at vi kan udregne procentsatsen af de enkelte poster.
Avatar billede inctor Nybegynder
05. januar 2006 - 22:49 #31
Hmm, ups.. mig der er galt på den .. glemte jo at ens username registreres kun en gang .. sorry .. min fejl .. er lidt træt ..
Avatar billede inctor Nybegynder
05. januar 2006 - 22:51 #32
den skal jo tælle hvor mange procent ends deltagelse i det program er .. og det kan den jo regne ud på visits, for visits opdatere jo hver gang at siden loades .. SÅå Undskyld.. :D
Avatar billede inctor Nybegynder
05. januar 2006 - 22:53 #33
kan jeg godt lave en:

$procent = $query = mysql_query("SELECT visits/$visitTotal*100 AS visitsProcent FROM cnmobil") or die(mysql_error());
while ($row = mysql_fetch_assoc($query))
{
    echo $row["username"] . " " . $row["visitsProcent"] . " %<br>";
}

? så jeg kun skal skrive $procent for at kalde den ? det for at det er nemmere at rykke procenten rundt .. ;D
Avatar billede nielle Nybegynder
05. januar 2006 - 22:55 #34
En kosntruktion som:

$procent = $query = mysql_query( ...

- vil give dig en PHP-fejl.
Avatar billede inctor Nybegynder
05. januar 2006 - 22:56 #35
kan jeg gøre sån så at den er nemmere at kunne rykke ?
Avatar billede nielle Nybegynder
05. januar 2006 - 22:56 #36
Måske sådan her?

function procent()
{
    $query = mysql_query("SELECT visits/$visitTotal*100 AS visitsProcent FROM cnmobil") or die(mysql_error());
    while ($row = mysql_fetch_assoc($query))
    {
        echo $row["username"] . " " . $row["visitsProcent"] . " %<br>";
    }
}
Avatar billede inctor Nybegynder
05. januar 2006 - 23:00 #37
Unknown column 'visits' in 'field list' ?
Avatar billede inctor Nybegynder
05. januar 2006 - 23:00 #38
er dette korrekt?:

$query = mysql_query("SELECT sum(visits) AS visitTotal FROM cnmobil") or die(mysql_error());
$row = mysql_fetch_assoc($query);
$visitTotal = $row["visitTotal"];

function procent(){
    $query = mysql_query("SELECT visits/$visitTotal*100 AS visitsProcent FROM cnmobil") or die(mysql_error());
    while ($row = mysql_fetch_assoc($query))
    {
        echo $row["username"] . " " . $row["visitsProcent"] . " %<br>";
    }
}

og så procent();
for at udskrive den ?
Avatar billede nielle Nybegynder
05. januar 2006 - 23:02 #39
function procent()
{
    $query = mysql_query("SELECT sum(visits) AS visitTotal FROM cnmobil") or die(mysql_error());
    $row = mysql_fetch_assoc($query);
    $visitTotal = $row["visitTotal"];

    $query = mysql_query("SELECT visits/$visitTotal*100 AS visitsProcent FROM cnmobil") or die(mysql_error());
    while ($row = mysql_fetch_assoc($query))
    {
        echo $row["username"] . " " . $row["visitsProcent"] . " %<br>";
    }
}

... og så procent(); for at udskrive den.
Avatar billede inctor Nybegynder
05. januar 2006 - 23:03 #40
forresten,    echo $row["username"] . " " . $row["visitsProcent"] . " %<br>";


hvad gør den sætning med username i ?
Avatar billede inctor Nybegynder
05. januar 2006 - 23:05 #41
den kalder den og viser den, men den bliver stående på 100.00 % uanset hvor mange gange ..
Avatar billede nielle Nybegynder
05. januar 2006 - 23:05 #42
Den udskriver brugeren og hvor mange procent hun står for af visiterne.
Avatar billede nielle Nybegynder
05. januar 2006 - 23:07 #43
Jamen så da prøv med den anden variant jeg viste:

function procent()
{
    $query = mysql_query("SELECT sum(visits) AS visitTotal FROM cnmobil") or die(mysql_error());
    $row = mysql_fetch_assoc($query);
    $visitTotal = $row["visitTotal"];

    $query = mysql_query("SELECT visits FROM cnmobil") or die(mysql_error());
    while ($row = mysql_fetch_assoc($query))
    {
        echo $row["username"] . " " . (100.0 * $row["visits"] / $visitTotal) . " %<br>";
    }
}
Avatar billede inctor Nybegynder
05. januar 2006 - 23:07 #44
men den SELECT'er ikke username i cnmobil .. eller ? sys jeg ikk jeg kan se den gør ..
Avatar billede inctor Nybegynder
05. januar 2006 - 23:08 #45
den anden skriver os kun 100% ..
Avatar billede nielle Nybegynder
05. januar 2006 - 23:09 #46
Min fejl. Ret:

$query = mysql_query("SELECT visits FROM cnmobil") or die(mysql_error());

- til:

$query = mysql_query("SELECT username, visits FROM cnmobil") or die(mysql_error());
Avatar billede inctor Nybegynder
05. januar 2006 - 23:12 #47
begge to viser 100% .. uanset hvor mange gange ..
Avatar billede nielle Nybegynder
05. januar 2006 - 23:13 #48
Hvormange users er der i tabellen?
Avatar billede inctor Nybegynder
05. januar 2006 - 23:14 #49
1 skal jeg prøve med flere ?
Avatar billede nielle Nybegynder
05. januar 2006 - 23:15 #50
Hvis der er 1 bruger så svare det jo også til at vedkommende står for samtlige - altså 100% - af alle besøg.
Avatar billede inctor Nybegynder
05. januar 2006 - 23:15 #51
nu står der procent tallene for dem alle .. og ikk kun den ene specifikke bruger..
Avatar billede inctor Nybegynder
05. januar 2006 - 23:16 #52
hvorn gør jeg så det kun er den ene ? altså den user der er logget ind ..
Avatar billede nielle Nybegynder
05. januar 2006 - 23:18 #53
function procent($username)
{
    $query = mysql_query("SELECT sum(visits) AS visitTotal FROM cnmobil") or die(mysql_error());
    $row = mysql_fetch_assoc($query);
    $visitTotal = $row["visitTotal"];

    $query = mysql_query("SELECT visits FROM cnmobil WHERE username='$username'") or die(mysql_error());
    while ($row = mysql_fetch_assoc($query))
    {
        echo $row["username"] . " " . (100.0 * $row["visits"] / $visitTotal) . " %<br>";
    }
}
Avatar billede inctor Nybegynder
05. januar 2006 - 23:18 #54
her er outputted af alt det vi har lavet plus det jeg selv havde.. :

Velkommen Til MobilChatNet Bow Know


Coinz: 54512
Online Tid: 63 timer og 18 minutter
Online: 0
Du har Post, tryk her
Du har brugt CNM 18 Gange.
CNM har været brugt 48 Gange.
Du udgør 38.7755102041 % af deltagelsen i dette projekt.
Avatar billede inctor Nybegynder
05. januar 2006 - 23:19 #55
og takker for hjælpen, kan jeg kontakte dig via mail hvis jeg får brug for hjælp igen ? ;D lig et svar .. ;D du fortjener dem ...
Avatar billede nielle Nybegynder
05. januar 2006 - 23:20 #56
Jeg er ikke specielt vild med at give min mail ud her på Eksperten :^|

... men du er altid velkomment til at stille nye spørgsmål.

... og så et svar (og på hovedet i seng) :^)
Avatar billede inctor Nybegynder
05. januar 2006 - 23:21 #57
så lige vi havde skrevet 55 Poster, mit længst spm hidtil .. ;D
Avatar billede inctor Nybegynder
05. januar 2006 - 23:21 #58
Det samme her .. skal os sove nu .. :S
Avatar billede inctor Nybegynder
05. januar 2006 - 23:21 #59
:D*
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