webForumDet fria alternativet

Varför skrivs inte statistiken ut?

PHPur PHP

31 svar · 711 visningar · startad av richardjoha · sida 2 av 2

Frågan, av richardjoha

addpoang.php här lägger jag till antalet matcher mål och poäng. koden addpoang.php: <?php include "anslut.php"; // Databasanslutningen //Här uppdaterar poängen IF($GET['do']=='sparapoang' && $POST['autoid']!=''){ $autoid=$POST['autoid']; $namn=$POST['namn']; $matcher=$POST['matcher']; $mal=$POST['mal']; $assist=$POST['assist']; $totalt=$POST['mal']+$POST['ass

Läs frågan i sin helhet →
Medlem sedan okt. 2005787 inlägg
#21

felmedelande och felmedelande.. i addpoang.php är detta det enda som skrivs ut:

INSERT INTO pts (namn, matcher, mal, assist, totalt) VALUES ('Richard', '3', '2', '2', '4')

men jag vill att det ska skrivas ut i en tabell direkt på sidan visapoang.php

Medlem sedan juni 200032 969 inlägg
#22

Och du får inget felmeddelande när du exekverar SQL-frågan med mysql_query()?
Om du tittar i phpmyadmin, finns datat i tabellen då?

Medlem sedan okt. 2005787 inlägg
#23

i phpmyadmin ser det ut så här...

https://www.oldoakdesign.se/1234ANNAT/wf/pts2.jpg

så datan sparas i tabellen i alla fall...

Medlem sedan juni 200032 969 inlägg
#24

Och du har såklart tänkt på att du sparar i tabellen pts och hämtar från tabellen poangliga?

Medlem sedan okt. 2005787 inlägg
#25

där satt den.. klantigt.. den hete poangliga först.. missat att ändra den.. tack så mkt för hjälpen @nders

Medlem sedan okt. 2005787 inlägg
#26

Koden fungerar nu och den hämtar och sparar i tabellen pts utan problem.

Har dock ett problem kvar.. när jag i addpoang.php lägger till en nya spelare får jag likförbannat upp textbiten "INSERT INTO pts (namn, matcher, mal, assist, totalt) VALUES ('Richard Johansson', '5', '2', '2', '4')" överst på sidan.

och när jag lagt in ex 10 spelare med olika namn och ska uppdatera spelare X´s statistik trycker jag på knapper "spara denne spelares poäng" och då ändras ALLA tidigare inlagda spelare till spelare X och hans statistik. Dvs. alla poster ser likadana ut.

Antar att jag måste sätta ett unikt id på varje ny spelare dom läggs till och någonslags ändra funktion kanske?

tacksam för svar.

Medlem sedan okt. 2005787 inlägg
#27

DEN KORREKT KODEN:

addpoang.php

<?php
include "anslut.php"; // Databasanslutningen
 
//Här uppdaterar poängen
IF($_GET['do']=='sparapoang' && $_POST['autoid']!=''){
   $autoid=$_POST['autoid'];
   $namn=$_POST['namn'];
   $matcher=$_POST['matcher'];
   $mal=$_POST['mal'];
   $assist=$_POST['assist'];
   $totalt=$_POST['mal']+$_POST['assist'];
   $uppdatera = "UPDATE pts SET namn = '{$namn}', matcher = '{$matcher}', mal = '{$mal}', assist = '{$assist}', totalt = '{$totalt}' WHERE autoid = '{$autoid}'";
   $res = mysql_query($uppdatera) or die("SQL: Gick ej att uppdatera informationen $uppdatera <br>".mysql_error());
}
 
//Här sparas nya poäng
ElseIF($_GET['do']=='nypoang'){
   $namn=$_POST['namn'];
   $matcher=$_POST['matcher'];
   $mal=$_POST['mal'];
   $assist=$_POST['assist'];
   $totalt=$_POST['mal']+$_POST['assist'];
   $laggtill = "INSERT INTO pts (namn, matcher, mal, assist, totalt) VALUES ('$namn', '$matcher', '$mal', '$assist', '$totalt')";
   echo $laggtill."<BR>";
   $res = mysql_query($laggtill) or die('SQL: Gick ej att lägga till informationen $laggtill <br>'.mysql_error()); 
}
 
//Här raderas spelaren
ElseIF($_GET['do']=='raderaspelare' && $_GET['autoid']!=''){
   $autoid=$_GET['autoid'];
   $radera = "DELETE FROM pts WHERE autoid = '$autoid'";
   mysql_query($radera) or die('SQL: Gick ej att radera informationen: $radera <br>'.mysql_error());
}
 
//Här visas alla poäng
$sql = "SELECT * FROM pts ORDER BY totalt DESC"; 
$resultat = mysql_query($sql);

echo "<table>\n";
   echo "   <tr>\n";
   echo "      <td>Namn</td>\n";
   echo "      <td>Matcher</td>\n";
   echo "      <td>Mål</td>\n";
   echo "      <td>Assist</td>\n";
   echo "      <td>Knapp för att spara</td>\n";
   echo "      <td>Länk för att ta bort</td>\n";
   echo "   </tr>\n";
   echo "   <tr><form method='POST' action='?do=nypoang'>\n";
   echo "      <td><input type='text' name='namn' size='40'></td>\n";
   echo "      <td><input type='text' name='matcher' size='40'></td>\n";
   echo "      <td><input type='text' name='mal' size='40'></td>\n";
   echo "      <td><input type='text' name='assist' size='40'></td>\n";
   echo "      <td><input type='submit' value='Spara nya spelaren & dennes poäng' name='submitny'></td>\n";
   echo "      <td>&nbsp;</td>\n";
   echo "   </form></tr>\n";
while($kolumn = mysql_fetch_array($resultat)){
   echo "   <tr><form method='POST' action='?do=sparapoang'>\n";
   echo "      <input type='hidden' name='autoid' value='{$kolumn['autoid']}'>\n";
   echo "      <td><input type='text' name='namn' size='40' value='{$kolumn['namn']}'></td>\n";
   echo "      <td><input type='text' name='matcher' size='40' value='{$kolumn['matcher']}'></td>\n";
   echo "      <td><input type='text' name='mal' size='40' value='{$kolumn['mal']}'></td>\n";
   echo "      <td><input type='text' name='assist' size='40' value='{$kolumn['assist']}'></td>\n";
   echo "      <td><input type='submit' value='Spara denna spelarens poäng' name='submit{$kolumn['autoid']}'></td>\n";
   echo "      <td><a href='?do=raderaspelare&autoid={$kolumn['autoid']}'>Radera</a></td>\n";
   echo "   </form></tr>\n";
}
echo "</table>\n";
?>

visa poang.php

<?php
include "anslut.php"; // Databasanslutningen
 
$sql = "SELECT * FROM pts ORDER BY totalt DESC"; 
$resultat = mysql_query($sql);

echo "<table>\n";
   echo "   <tr>\n";
   echo "      <td>Namn</td>\n";
   echo "      <td>Matcher</td>\n";
   echo "      <td>Mål</td>\n";
   echo "      <td>Assist</td>\n";
   echo "      <td>Poäng</td>\n";
   echo "   </tr>\n";
while($kolumn = mysql_fetch_array($resultat)){
   echo "   <tr>\n";
   echo "      <td>{$kolumn['namn']}</td>\n";
   echo "      <td>{$kolumn['matcher']}</td>\n";
   echo "      <td>{$kolumn['mal']}</td>\n";
   echo "      <td>{$kolumn['assist']}</td>\n";
   echo "      <td>{$kolumn['totalt']}</td>\n";
   echo "   </tr>\n";
}
echo "</table>\n";
?>
Medlem sedan juni 200032 969 inlägg
#28
  1. Ta bort "echo"-raden du lade till förut. Den syftade ju bara till att skriva ut frågan så den kan debuggas.
  2. Ja, en räknare är vettigt att ha i tabellen. Du får skicka med spelar-id i ett hiddenfält när du ändrar spelarinfo, och sedan ha med det ID:t i WHERE-satsen i UPDATE-frågan.
Medlem sedan okt. 2005787 inlägg
#29
  1. ja den ska ju bort.. då slipper jag den utskrivningen.. bra. :)

  2. Har bara hållit på med php i nån månad och detta är mitt första egna script så vet inte riktigt hur jag ska fixa det hinner du ge mig lite hjälp på vägen?

Medlem sedan juni 200032 969 inlägg
#30

Nja, jag är visserligen programmerare och vet hur saker och ting ska lösas teoretiskt. Men PHP har jag aldrig använt, så jag har dessvärre inte möjlighet att hjälpa dig med någon vettig kod. :)

Mvh

Medlem sedan okt. 2005787 inlägg
#31

fasen också.. :) får hoppas någon annan lirare hinner ta sig lite tid.. jobbigt som fan när man sitter med ett halvfärdigt skript.. det har ju vart lite kämp med detta och känns lamt att behöva ge upp..

Medlem sedan juni 200032 969 inlägg
#32

Ge upp får du inte göra. :)

Mvh

132 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)