Php & MySQL

While loop (Hämta data från databas)

2014-03-25 16:03 #0 av: [Majbot]

Problemet är att min kod endast kör igenom det första värdet i databasen, och slutar därefter. Vet inte riktigt vart felet ligger, har testat olika loopar men då blir sidan antingen vit eller så loopas det sista värdet oändligt.


Någon som kan se felet? :(


<?php

// Initialize sessions

session_start();

// Opens database connection

require_once 'inc/opendb.php';

// Controls whether a user is already logged in

if (isset($_SESSION['login']))

{

// Defines query to database

$sql = "SELECT name FROM form";

// Sends query to database for user/pass verification

$result = mysqli_query($link, $sql) or die('Error [' . mysqli_error($link) . ']');

// Puts all rows into variable $row

$row = mysqli_fetch_assoc($result);

//Defines variables

$name = utf8_encode($row['name']);

}

// Terminates database connection

require_once 'inc/closedb.php';


?>


<!DOCTYPE html>


<html>

   <head>

  <!--Loading bootstrap and custom stylesheet-->

<link href = "css/bootstrap.min.css" rel = "stylesheet">

<link href = "style.css" rel = "stylesheet">

<link href="css/font-awesome.min.css" rel="stylesheet">

     <title>Lista</title>

   </head>

   

   <body>

   

<!--Meta tags: Making the site display the resolution based on viewport, desktop version for desktop, Mobile on smartphones etc.-->

<meta name="viewport" content="width=device-width, initial-scale=1.0" charset="utf-8">

<!--Navbar-->

<div class="navbar navbar-inverse navbar-static-top" >

<!--Makes the text within the container stay in the container-->

<div class="container">

<!--The sites name/brand-->

<a href="#" div class="navbar-brand">Rate Your School</a>

<!--When this button is pressed...-->

<button class="navbar-toggle" data-toggle= "collapse" data-target=".navHeaderCollapse">

<!--Creates the menubar symbol-->

<span class="icon-bar"></span>

<span class="icon-bar"></span>

<span class="icon-bar"></span>

</button>

<!--...This will happen-->

<div class="collapse navbar-collapse navHeaderCollapse">

<ul class = "nav navbar-nav navbar-right">

<li><a href="#">Hem</a></li>

<!--Link(skolor) with dropdown menu-->

<li class="active"><a href = "#">Skolor</a></li>

<li><a href="#">Kontakt</a></li>

<li><a href="login.php">Logga in</a></li>

</ul>

</div>

</div>

</div><!--Navbar ends-->

   

<div id="wrapper">

<!--LETTER A - Table: Fetching schools from database-->

<?php 

while ($rows = mysqli_fetch_array($result))

{

echo $name . '<br/>';

}

?>

    </div><!--wrapper ends-->

<!--footern-->

<div class="navbar navbar-inverse navbar-fixed-bottom ">

<div class="container">

<p class="navbar-text"><strong>Rate Your School (C) 2014</strong></p>

</div>

</div>

<script src = "http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>

<script src = "js/bootstrap.js"></script>

   </body>

</html>

Anmäl
2014-03-27 11:56 #1 av: MichaelE

Det är inte fel på while loppen, den är korrekt. Däremot är din kod helt fel.

Du kör echo på name när det bör vara echo row['name'].

Anmäl
2014-03-27 13:52 #2 av: [Majbot]

Längre upp tillskriver jag $name =

 $name = utf8_encode($row['name']);

Anmäl
2014-07-14 23:01 #3 av: Demonen

#2, det är inte samma scope.  Du måste definiera variabeln på nytt inom samma scope, eller hämta direkt från $row array så som i #1 

Anmäl
2014-07-15 00:54 #4 av: [Majbot]

#3 Har redan löst problemet med tack ändå :)

Anmäl

Bli medlem på iFokus

För att kunna delta i diskussionen måste du bli medlem på iFokus. Det går snabbt, enkelt, och kostar ingenting. Medlemskapet ger dig tillgång till över 300 sajter.