Witam wszystkich
Jestem początkującym a nigdzie nie mogę znaleźć podpowiedzi. Szukam przykładu dla kilku zapytań na jednej stronie np. aby wyświetlić średnią, sumę i powiedzmy minimalną liczbę z kilku kolumn z jednej tabeli bazy danych sql. Z jedną daną sobie mniej wiecej radze a z kilkoma nie wiem. Nie macie jakiegoś prostego kodu ale całego obrazującego moje pytanie?
Wklej kod z pojedynczym wyświetleniem to pewnie ktoś będzie w stanie pomóc w jego rozbudowaniu.
kurcze jak wklejam kod to jest kazda linijka w jednej
Użyj do tego znaczników. Masz na belce </> wybierz język i klej kod między tagi.
<!DOCTYPE HTML>
<html lang="pl">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<title>TEST</title>
</head>
<body>
<center>
<?php
ini_set("display_errors", 0);
require_once "connect.php";
$polaczenie = mysqli_connect($host, $user, $password);
mysqli_query($polaczenie, "SET CHARSET utf8");
mysqli_query($polaczenie, "SET NAMES 'utf8' COLLATE 'utf8_polish_ci'");
mysqli_select_db($polaczenie, $database);
$szerokosc = 800;
?>
<form action="index.php?akcja=szukaj" method="POST" >
NF <input name="filtrnf" class="pole" style="width:100px;" value="<?php echo $_POST['filtrnf']; ?>" />
<input type="submit" value="Szukaj" class="przycisk" />
<br>
<br>
<table cellspacing="0" cellpadding="5" class="tekst" summary="" border="0" width="<?php echo $szerokosc;?>" >
<tbody>
<tr style=" BACKGROUND: #DFF2FF;" >
<td align="center" colspan="6">
<strong>NF</i></strong>
</td>
</tr>
<tr >
<td align="center" style="BORDER-BOTTOM: #DFF2FF 2px solid; BACKGROUND: #f0faff;">
data
</td>
<td align="center" style="BORDER-BOTTOM: #DFF2FF 2px solid; BACKGROUND: #f0faff;">
ilość
</td>
<td align="center" style="BORDER-BOTTOM: #DFF2FF 2px solid; BACKGROUND: #f0faff;">
dlugość
</td>
<td align="center" style="BORDER-BOTTOM: #DFF2FF 2px solid; BACKGROUND: #f0faff;">
szerokość
</td>
<td align="center" style="BORDER-BOTTOM: #DFF2FF 2px solid; BACKGROUND: #f0faff;">
wysokość
</td>
</tr>
<?php
if($_GET['akcja']=='szukaj'){
$zapytanie = "SELECT * FROM baza";
$rezultat = mysqli_query($polaczenie, $zapytanie);
$ile = mysqli_num_rows($rezultat);
for ($i = 1; $i <= $ile; $i++)
{
$row = mysqli_fetch_assoc($rezultat);
$a2 = $row['data'];
$a3 = $row['ilosc'];
$a4 = $row['dlugosc'];
$a5 = $row['szerokosc'];
$a6 = $row['wysokosc'];
echo<<<END
<tr >
<td align="center" style="BORDER-BOTTOM: #DFF2FF 1px solid;">
$a2
</td>
<td align="center" style="BORDER-BOTTOM: #DFF2FF 1px solid;">
$a3
</td>
<td align="center" style="BORDER-BOTTOM: #DFF2FF 1px solid;">
$a4
</td>
<td align="center" style="BORDER-BOTTOM: #DFF2FF 1px solid;">
$a5
</td>
<td align="center" style="BORDER-BOTTOM: #DFF2FF 1px solid;">
$a6
</td>
</tr><?
</table>
END;
}}
?>
</form>
</center>
</BODY>
</HTML>
W ramach pisania kodu zmień sobie ustawienie wyświetlania błędów, w razie co łatwiej szuakać.
ini_set("display_errors", 1);
Masz forumarz z przyciskiem. W adresie forumarza od razu podajesz parametr akcja
i potem na bazie tej że akcji wykonujesz zapytanie SQL.
Jeśli chcesz by to dalej tak działało ale dodać inne zapytania SQL to po prostu je dodajesz np.
$avarageLenght = "SELECT AVG(`dlugosc`) AS AVG FROM baza";
$avarageQueryResult = mysqli_query($polaczenie, $avarageLenght);
$queryResult = mysql_fetch_assoc($avarageQueryResult);
//Na koniec oczywiście pozostanie wyświetlanie w jakimś miejscu
echo $queryResult['avg'];
Pisane z palca. Podstaw sobie ewentualnie inną nazwę kolumny z bazy etc.
@jurek1980: Dzieki Jurek, a mógłbyś mi powiedziec jeszcze w którym miejscu wrzucic ten twoj kod?
A spróbuj to wydedukować. Niektóre zmienne i jedno zapytanie już masz. Spróbuj i jak pojawi się jakiś błąd to spróbuj go naprawić.
@jurek1980: OK, walczę cały czas. Jeszcze raz dziekuję za pomoc
jurek1980 napisał(a):
W ramach pisania kodu zmień sobie ustawienie wyświetlania błędów, w razie co łatwiej szuakać.
ini_set("display_errors", 1);
Masz forumarz z przyciskiem. W adresie forumarza od razu podajesz parametr
akcja
i potem na bazie tej że akcji wykonujesz zapytanie SQL.
Jeśli chcesz by to dalej tak działało ale dodać inne zapytania SQL to po prostu je dodajesz np.$avarageLenght = "SELECT AVG(`dlugosc`) AS AVG FROM baza"; $avarageQueryResult = mysqli_query($polaczenie, $avarageLenght); $queryResult = mysql_fetch_assoc($avarageQueryResult); //Na koniec oczywiście pozostanie wyświetlanie w jakimś miejscu echo $queryResult['avg'];
Pisane z palca. Podstaw sobie ewentualnie inną nazwę kolumny z bazy etc.
prawie dwie godziny walczyłem, kombinowałem. I w końcu eureka. problem był w tym że w 3 linijce kodu było mysql a nie mysqli. Ale już jest OK. Jeszcze raz dzięki.