10. marts 2008 - 20:51Der er
17 kommentarer og 1 løsning
session problem
<?php session_start(); $query = mysql_query("select * from crew") or die(mysql_error()); // Tjekke i database for informationer $row = mysql_fetch_assoc($query)
Den henter den første fordi at du kun køre mysql_fetch_assoc() en gang ... hvis du skal have resten med, skal det ind i en while-løkke. Og så skal du selvfølgelig også have mere end et felt til at gemme dem i.
<?php session_start(); $query = mysql_query("select * from crew") or die(mysql_error()); // Tjekke i database for informationer while ($row = mysql_fetch_assoc($query)){
For det første kan jeg ikke lige se pointen i at trække hele tabellens indhold ud og så gemme den i hukommelsen - i en session. Det belaster da bare webserveren.
Dernæst skal du gemme det i et array, hvis du ønsker at gøre det på den måde:
<?php
session_start(); $query = mysql_query("select * from crew") or die(mysql_error()); // Tjekke i database for informationer
$nick = array();
while ($row = mysql_fetch_assoc($query)){ $nick[] = $row['nick']; }
Hvad kan man gøre hvis det ikke skal være session? Jeg skal bruge det til at se om nogen har en bestemt level for så skal de stå et bestemt sted. Ansvarlige<br> <?php if($_SESSION['level'] == 1 { echo $row['nick'] } ?> <br /> CS 1.6 Admins:<br> <?php if($_SESSION['level'] == 2 { echo $row['nick'] } ?>
Umiddelbart gør din kode det samme i begge tilfælde?
Der er ingen grund til at have samtlige rækker far en database i hver session. Det man bør bruge en session til er at holde styr på de data som gælder for den aktuelle bruger - altså noget som svarer til en enkelt af de mange rækker.
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.