Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Tabela piłkarska php mysql
shnelock
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 27.11.2015

Ostrzeżenie: (0%)
-----


Witam.

Mam w bazie danych tabelę z wynikami piłkarskimi (terminarzem) i chciałbym stworzyć prawdziwą Tabelę ligi piłkarskiej na stronie internetowej, która będzie się tworzyła po analizie wyników piłkarskim. Za każde zwycięstwo są 3 punkty, za remis 1 pkt, za porażkę 0 pkt. Chciałbym żeby php/mysql zliczał mi ilość punktów, wygranych, remisów, porażek, bramek strzelonych, straconych raz bilans i na podstawie tych danych dawał odpowiednie miejsce drużynie w tabeli. Więcej o mojej bazie oraz jak ma wyglądać tabela na screenach.

(IMG:http://i.imgur.com/joOwMYK.png)
(IMG:http://i.imgur.com/BhQPjeo.png)
(IMG:http://i.imgur.com/god4Swt.png)
(IMG:http://i.imgur.com/46TeitQ.png)
Go to the top of the page
+Quote Post
Tomplus
post
Post #2





Grupa: Zarejestrowani
Postów: 1 879
Pomógł: 230
Dołączył: 20.03.2005
Skąd: Będzin

Ostrzeżenie: (0%)
-----


I w czym problem?
Chyba nie myślisz że zrobimy skrypt za ciebie?

Jak masz bazę z wynikami to możesz sam zrobić, mniej więcej tak.

Kod
pętla_z bazy {
  if (gole_gosp>gole_gosc)
  {
    Zespol[ID_gosp] += 3
    Zespol[ID_gosc] += 0
  }
  //reszta analogicznie
}

array_multisort(Zespol)
pętla Zespolow {
  // drukuje tabele.
}


array_multisort
Go to the top of the page
+Quote Post
shnelock
post
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 27.11.2015

Ostrzeżenie: (0%)
-----


Pomyślałem trochę i stworzyłem tabelę w bazie danych o nazwie Tabela.

W niej są kolumny: id_druzyny, punkty.

Teraz napisałem, żeby mi analizowało ifami wyniki w tabeli Wyniki, wyszło coś mniej więcej tak (narazie samych wygranych szuka):

<?php
$user='xxx';
$pass='xxxx';
$db='xxxxx';
$host='localhost';
$con=@new mysqli($host, $user, $pass, $db);
mysqli_query( $con, 'SET NAMES "utf8" COLLATE "utf8_general_ci"' );
if(mysqli_connect_errno()!=0){
echo 'Błąd połączenia z bazą!: '.mysqli_connect_error();
}
else {
$result=$con->query('SELECT * from wyniki;');
if($result === false){
echo 'Zapytanie nie zostało wykonane poprawnie';
}
else {
while(($plr=$result->fetch_assoc())!==NULL){

$druzynaa=$plr['druzynaa'];
$druzynab=$plr['druzynab'];

if($plr['gole_druzynya']>$plr['gole_druzynyb'])
{
$pkt=query('SELECT punkty FROM tabela WHERE id_druzyny="$druzynaa";');
$wynik=query('INSERT INTO tabela (punkty) VALUES ($pkt+3) WHERE id_druzyny="$druzynaa";');
}

}
$result->close();
$con->close();

}

}

?>



Niestety są błędy przy $pkt i $wynik. Nie wiem jak w VALUES dodać 3 punkty do już istniejących punktów. W ogóle jak wywołać te zapytania z $pkt i $wynik...
Go to the top of the page
+Quote Post
Tomplus
post
Post #4





Grupa: Zarejestrowani
Postów: 1 879
Pomógł: 230
Dołączył: 20.03.2005
Skąd: Będzin

Ostrzeżenie: (0%)
-----


1. formatuj kod tagiem PHP
2. polecam korzystać PHP Object Data czyli PDO do łączenia z bazą danych.
3. połączenie dołączaj z osobnego pliku, nie musisz nam tego pokazywać
4. wg mnie i pewnie nie tylko nie powinieneś każdej pętli robić dwa zapytania dodatkowe:

  1. $pkt = array();
  2. while(($plr=$result->fetch_assoc())!==NULL) {
  3. $druzynaa=$plr['druzynaa'];
  4. $druzynab=$plr['druzynab'];
  5. if($plr['gole_druzynya']>$plr['gole_druzynyb']) {
  6. $pkt[$plr['druzynaa']] += 3;
  7. } elseif($plr['gole_druzynya']<$plr['gole_druzynyb']) {
  8. $pkt[$plr['druzynab']] += 3;
  9. } else {
  10. $pkt[$plr['druzynaa']] += 1;
  11. $pkt[$plr['druzynab']] += 1;
  12. }
  13. }
  14. $result=$con->query('SELECT * FROM tabela WHERE liga =1;');
  15. while(($team=$result->fetch_assoc())!==NULL) {
  16. $con->query('UPDATE tabela SET punkty = $pkt[$team['id']] WHERE id_druzyny=$team['id'];');
  17. }
Go to the top of the page
+Quote Post
shnelock
post
Post #5





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 27.11.2015

Ostrzeżenie: (0%)
-----


Cytat(Tomplus @ 3.12.2015, 20:13:59 ) *
1. formatuj kod tagiem PHP
2. polecam korzystać PHP Object Data czyli PDO do łączenia z bazą danych.
3. połączenie dołączaj z osobnego pliku, nie musisz nam tego pokazywać
4. wg mnie i pewnie nie tylko nie powinieneś każdej pętli robić dwa zapytania dodatkowe:

  1. $pkt = array();
  2. while(($plr=$result->fetch_assoc())!==NULL) {
  3. $druzynaa=$plr['druzynaa'];
  4. $druzynab=$plr['druzynab'];
  5. if($plr['gole_druzynya']>$plr['gole_druzynyb']) {
  6. $pkt[$plr['druzynaa']] += 3;
  7. } elseif($plr['gole_druzynya']<$plr['gole_druzynyb']) {
  8. $pkt[$plr['druzynab']] += 3;
  9. } else {
  10. $pkt[$plr['druzynaa']] += 1;
  11. $pkt[$plr['druzynab']] += 1;
  12. }
  13. }
  14. $result=$con->query('SELECT * FROM tabela WHERE liga =1;');
  15. while(($team=$result->fetch_assoc())!==NULL) {
  16. $con->query('UPDATE tabela SET punkty = $pkt[$team['id']] WHERE id_druzyny=$team['id'];');
  17. }



A o co chodzi w linijce:
$con->query('UPDATE tabela SET punkty = $pkt[$team['id']] WHERE id_druzyny=$team['id'];');
}

Co mam zamiast id wstawić?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 25.08.2025 - 03:45