hent kun hvis der er værdi

Tags:    php mysql

hvordan er det nu man får den til at kun hente hvis der er værdi ?
Så man ikke får en masse 0 score frem

Fold kodeboks ind/udPHP kode 


på forhånd mange gange tak



4 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 1 karma
Sorter efter stemmer Sorter efter dato
>$sql="SELECT * FROM spillere WHERE fscore >= '1' ORDER BY fscore DESC";
jeg vil skrive det som
$sql = "SELECT * FROM spillere WHERE fscore > 0 ORDER BY fscore DESC";





ændrings forslag


se lige på forskellen mellem require og require_once
http://php.net/manual/en/function.require.php
http://php.net/manual/en/function.include.php
http://php.net/manual/en/function.require-once.php
http://php.net/manual/en/function.include-once.php
jeg vil anbefale dig at anvende require_once på din conn.php

------------------------------------

ret lige ln 36 fra <? til <?php da short_open_tag er slået fra pr default

-------------------

får du ikke en advarsel her ??
<td width="200"><?php echo $rows[navn] ?></td>
<td width="50"><?php echo $rows[fscore] ?></td>

Notice: Use of undefined constant fscore - assumed 'fscore'
Notice: Use of undefined constant navn - assumed 'navn'

hvis du ikke får den advarsel så slå error_reporting til
sæt dette ind i toppen af din fil
Fold kodeboks ind/udKode 

eller slå det til i php.ini

så der skal stå
<td width="200"><?php echo $rows['navn'] ?></td>
<td width="50"><?php echo $rows['fscore'] ?></td>

--------------------

nbb:
du skyder dig selv i foden ved forsat at anvende det gamle mysql API

ref http://php.net/manual/en/function.mysql-connect.php

Warning

This extension is deprecated as of PHP 5.5.0, and will be removed in the future. Instead, the MySQLi or PDO_MySQL extension should be used. See also MySQL: choosing an API guide and related FAQ for more information

det letteste for dig vil være at skifte til mysqli og skrive i procedural style, som ligner det gamle 99%, du har også mulighed for at skrive OOP style, eller blande hvis du har lyst
for at øge sikkerheden bør du kigge på Prepare Statement, hvilke også første er kommet til i mysqli og PDO

i PDO kan du kun anvende OOP style, men hvis man anvender Prepare Stetement klart mere anvendeligt, og jeg tror PDO på sigt vil udkonkurrere mysqli.



Indlæg senest redigeret d. 04.04.2015 10:58 af Bruger #16075
Du kan ændre lidt i din sql linje:

$sql="SELECT * FROM spillere WHERE fscore >= '1' ORDER BY fscore DESC";

Eller med en if:

if($rows[fscore] >= 1){

}



Mange tak i to :D

Ronny Jørn Olsen. ved godt jeg burde fornye mig. men det er ikke så tit jeg roder med hjemmesider mere. så kun det gamle hænger ved.

men skal da helt klart til og lave noget i det nye. det virker os nemmere og smartere.

Jeg får ingen fejl på siden. den virker som den skal. og da det kun er en lille hjemmeside vil jeg ikke til og gøre det 100% sikkert osv.

Men igen 1000 tak for jeres hjælp,



Indlæg senest redigeret d. 04.04.2015 16:26 af Bruger #8013

men skal da helt klart til og lave noget i det nye. det virker os nemmere og smartere.


$rows=mysql_fetch_array($result)
$result = mysql_query($sql); // mysql_query($sql, $conn);

ville i mysqli procedural style hedde
$rows=mysqli_fetch_array($result)
$result = mysqli_query($conn, $sql);

ville i mysqli OOP style hedde
$rows=$result->fetch_array()
$result = $conn->query($sql);

og sådan er det hele vejen, så det er ikke så svært at skifte til mysqli og anvende Procedural style eller OOP style


hele dit program ser sådan ud i mysqli procedural style

conn.php
Fold kodeboks ind/udKode 



Fold kodeboks ind/udKode 


jeg vil anbefale dig at bruge mysqli_fetch_assoc i stedet for mysqli_fetch_array, da du ikke anvender det indexerede del af de retunerede data


Jeg får ingen fejl på siden. den virker som den skal

så har du slået fejl visning fra, du bør få en Notice: så du gør det sværre for dig selv at udvikle
kig på din error_reporting i php.ini



Indlæg senest redigeret d. 04.04.2015 17:07 af Bruger #16075
t