Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
[PhP][MYSQL] Dlaczego ankieta sie nie zapisuje i nie odczytuje z bazy danych
#1
Witam wszystkich,

Prosiłbym o poradę co mam zmienić, żeby dane z ankiety się zapisywały w bazie danych a następnie zapisane dane wyświetlały z bazy danych jako statystyki?

Formularz z ankietą wygląda tak:

Kod:
<form action="zapis_ankiety.php" method="post">

<p class="pytania">1. Twoja sieć komórkowa (można wybrać jedną opcję):</p>

<input type="radio" class="radio" name="odp_pytanie_1" value="Orange" id="pyt_2_1">Orange                
<input type="radio" class="radio" name="odp_pytanie_1" value="T-mobile" id="pyt_2_2">T-Mobile


<p class="pytania">2. Ile masz dzieci?</p>

                <select name="odp_pytanie_2" id="pyt_2" class="input">
                    <option value="">Proszę wybrać...</option>
                    <option value="0">0</option>
                    <option value="1" selected="selected">1</option>
                    <option value="2">2</option>
                    <option value="3">3</option>
                </select>


<p class="pytania">5. Jak spędzasz wolny czas?:<br><span class="info"> (wybierz co najmniej jedną odpowiedź)</span></p>

<input type="checkbox" class="check" name="odp_pytanie_5[]" value="Siedze przed komputerem" id="siedze_przed_komputerem"><label for="id_siedze_przed_komputerem">Siedzę przed komputerem</label>
<br>

<input type="checkbox" class="check" name="odp_pytanie_5[]" value="Oglądam TV" id="ogladam_TV"><label for="id_ogladam_TV">Oglądam TV</label><br>
                
<input type="checkbox" class="check" name="odp_pytanie_5[]" value="Czytam książki" id="czytam_ksiazki" checked="checked"><label for="id_czytam_ksiazki">Czytam książki</label><br>

<input type="checkbox" class="check" name="odp_pytanie_5[]" value="Słucham muzyki" id="slucham_muzyki"><label for="id_slucham_muzyki">Słucham muzyki</label><br>
    
<input type="submit" value="Zapisz" class="zapisz"> <a href="statystyka_ankiety.php" class="link_statystyka">Statystyka</a>

</form>

W bazie danych mam następujące tabelki:

W 1 tabeli: odpowiedzi_ank_nr_2 zapisywane są odpowiedzi 1, i 2 z i odpowiedzi z drugiej tabeli dla pytania nr 5:

Kod:
id_odpowiedzi, odp_pytanie_1, odp_pytanie_2, id_odp_pyt_5

W 2 tabeli: odp_pytanie_5 zapisywane są odpowiedzi dla pytania 5:

Kod:
id_pytanie_5, id_odp_pytanie_5, pytanie_5

Kod PHP z pliku zapis_ankiety.php, który zapisuje dane z ankiety do bazy danych wygląda następująco:
Kod PHP:
<?php

include("poczatek_strony.php");

echo 
"Odpowiedź na pytanie 1:";
echo 
$_POST['odp_pytanie_1'];

echo 
"Odpowiedź na pytanie 2:";
echo 
$_POST['odp_pytanie_2'];

echo 
"Odpowiedź na pytanie 5:";


if(isset(
$_POST['odp_pytanie_5'])==true//dla checkboxa nr 1
{
    
$odp_pytanie_5='Siedzę przed komputerem ';
}

if(isset(
$_POST['odp_pytanie_5'])==true//dla checkboxa nr 2
{
    
$odp_pytanie_5='Oglądam TV ';
}

if(isset(
$_POST['odp_pytanie_5'])==true//dla checkboxa nr 3
{
    
$odp_pytanie_5='Czytam książki ';
}

if(isset(
$_POST['odp_pytanie_5'])==true//dla checkboxa nr 4
{
    
$odp_pytanie_5='Słucham muzyki ';
}


mysql_connect("localhost","root","haslo_do_bd");
mysql_select_db("ankieta_nr_2");

mysql_query("INSERT INTO odpowiedzi_ank_nr_2(odp_pytanie_1,odp_pytanie_2,data_dodania) VALUES ('{$_POST['odp_pytanie_1']}','{$_POST['odp_pytanie_2']}',NOW())");
mysql_query("INSERT INTO odp_pytanie_5(odp_pytanie_5) VALUES ('{$_POST['odp_pytanie_5']}')"); 

W pliku statystyka_ankiety.php mam statystyki dot. odpowiedzi, gdzie pojawiają się odpowiedzi do pytań,a pod nimi procenty z odpowiedzi i dalej pod nimi słupki obrazujące procent odpowiedzi w stosunku do wszystkich odpowiedzi dla danego pytania z wypełnionych ankiet.
Ten cały plik nie działa niestety, jest błąd parsowania.

Kod PHP:
<?php

mysql_connect
("localhost","root","haslo_do_db");
mysql_select_db("ankieta_nr_2");

cho "Ankieta wykonana w dniu: ";
echo 
date('d.m.Y');
echo 
" o godzinie: ";
echo 
date('H.m');
echo 
"<br><br>";


//Pytanie 1

$wyniki1=mysql_query("SELECT * FROM odpowiedzi_ank_nr_2");

$odp_orange=0;
$odp_tmobile=0;
$lacznie=0;

while(
$odpowiedzi=mysql_fetch_assoc($wyniki1))
{
    if(
$odpowiedzi['odp_pytanie_1']=='Orange')
        
$odp_orange++;
    if(
$odpowiedzi['odp_pytanie_1']=='T-mobile')
        
$odp_tmobile++;    

$lacznie++;
}

$procent_orange=(($odp_orange*100)/$lacznie); 
$procent_tmobile=(($odp_tmobile*100)/$lacznie); 

echo 
"<p>1. Twoja sieć komórkowa:<br>";

echo 
"<div style='float: left; width: 70px; text-align: center; border: 1px solid white;'>Orange<br><br><div style='width: 40px; background-color: blue; margin-left: 15px;height: {$procent_orange}%;'></div>$procent_orange %</div>";


echo 
"<div style='float: left; width: 70px; text-align: center; border: 1px solid white;'>T-mobile<br><br><div style='height: 60px; width: 40px; background-color: blue; margin-left: 15px; height: {$procent_tmobile}%;'></div>$procent_tmobile %</div>";

//Pytanie 2


echo "<p>2. Ile masz dzieci?:<br>";

$wyniki2=mysql_query("SELECT * FROM odpowiedzi_ank_nr_2");

$odp_0=0;
$odp_1=0;
$odp_2=0;
$odp_3=0;

$lacznie=0;

while(
$odpowiedzi=mysql_fetch_assoc($wyniki2))
{
    if(
$odpowiedzi['odp_pytanie_2']=='0')
        
$odp_0++;
    if(
$odpowiedzi['odp_pytanie_2']=='1')
        
$odp_1++;    
    if(
$odpowiedzi['odp_pytanie_2']=='2')
        
$odp_2++;
    if(
$odpowiedzi['odp_pytanie_2']=='3')
        
$odp_3++;

$lacznie++;
}

$procent_odp_0=floor(($odp_0*100)/$lacznie);
$procent_odp_1=floor(($odp_1*100)/$lacznie);
$procent_odp_2=floor(($odp_2*100)/$lacznie);
$procent_odp_3=floor(($odp_3*100)/$lacznie);

echo 
"<div style='float: left; width: 70px; text-align: center; border: 1px solid white;'>Bez dzieci<br><br><div style='width: 40px; background-color: red; margin-left: 15px; height: {$procent_odp_0}%;'></div>$procent_odp_0 %</div>";
 
echo 
"<div style='float: left; width: 70px; text-align: center; border: 1px solid white;'>Jedno<br><br><div style='width: 40px; background-color: red; margin-left: 15px; height: {$procent_odp_1}%;'></div>$procent_odp_1 %</div>";

echo 
"<div style='float: left; width: 70px; text-align: center; border: 1px solid white;'>Dwoje<br><br><div style='width: 40px; background-color: red; margin-left: 15px; height: {$procent_odp_2}%;'></div>$procent_odp_2 %</div>";

echo 
"<div style='float: left; width: 70px; text-align: center; border: 1px solid white;'>Troje<br><br><div style='width: 40px; background-color: red; margin-left: 15px; height: {$procent_odp_3}%;'></div>$procent_odp_3 %</div>";

//Pytanie 5

echo "<p>5. Jak spedzasz wolny czas? (wybierz co najmniej jedną odpowiedź):<br>";

$wyniki5=mysql_query("SELECT * FROM odp_pytanie_5");

$odp_siedze_przed_komputerem=0;
$odp_ogladam_TV=0;
$odp_czytam_ksiazki=0;
$odp_slucham_muzyki=0;
$lacznie=0;

while(
$odpowiedzi=mysql_fetch_assoc($wyniki5))
{
    if(
$odpowiedzi['odp_pytanie_5_1']=='Siedzę przed komputerem')
        
$odp_siedze_przed_komputerem++;
    if(
$odpowiedzi['odp_pytanie_5_2']=='Oglądam TV')
        
$odp_ogladam_TV++;    
    if(
$odpowiedzi['odp_pytanie_5_3']=='Czytam książki')
        
$odp_czytam_ksiazki++;
    if(
$odpowiedzi['odp_pytanie_5_4']=='Słucham muzyki')
        
$odp_slucham_muzyki++;        


        
$lacznie++;    
}

$procent_odp_siedze_przed_komputerem=floor(($odp_siedze_przed_komputerem*100)/$lacznie);
$procent_odp_ogladam_TV=floor(($odp_ogladam_TV*100)/$lacznie);
$procent_odp_czytam_ksiazki=floor(($odp_czytam_ksiazki*100)/$lacznie);
$procent_odp_slucham_muzyki=floor(($odp_slucham_muzyki*100)/$lacznie);

if(isset(
$_GET['odp_pytanie_5_1'])==true)
{
echo 
"<div style='float: left; width: 70px; text-align: center; border: 1px solid white;'>Siedzę przed komputerem<br><br><br><div style='height: 60px; width: 40px; background-color: yellow; margin-left: 15px; height: {$procent_odp_siedze_przed_komputerem}%;'></div>$procent_odp_siedze_przed_komputerem % </div>";
}

if(isset(
$_GET['odp_pytanie_5_2'])==true)
{
echo 
"<div style='float: left; width: 70px; text-align: center; border: 1px solid white;'>Oglądam TV<br><br><br><div style='height: 60px; width: 40px; background-color: yellow; margin-left: 15px; height: {$procent_odp_ogladam_TV}%;'></div>$procent_odp_ogladam_TV % </div>";
}

if(isset(
$_GET['odp_pytanie_5_3'])==true)
{
echo 
"<div style='float: left; width: 70px; text-align: center; border: 1px solid white;'>Czytam skiążki<br><br><br><div style='height: 60px; width: 40px; background-color: yellow; margin-left: 15px; height: {$procent_odp_czytam_ksiazki}%;'></div>$procent_odp_czytam_ksiazki % </div>";
}

if(isset(
$_GET['odp_pytanie_5_4'])==true)
{
echo 
"<div style='float: left; width: 70px; text-align: center; border: 1px solid white;'>Słucham muzyki<br><br><br><div style='height: 60px; width: 40px; background-color: yellow; margin-left: 15px; height: {$procent_odp_slucham_muzyki}%;'></div>$procent_odp_slucham_muzyki % </div>";
}
?>

Jeśli moglibyście prosiłbym o napisanie gdzie jest błąd i dlaczego mi te skrypty nie działają.

Za pomoc będę bardzo wdzięczny.

Pozdrawiam,

martinprz 
Odpowiedz


Podobne wątki…
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  cron nie łączy się z bazą danych michalszyd 3 5,004 18-01-2018, 06:15
Ostatni post: ytprzetwornik
  Zmniejszenie czasu dostępu do bazy darling 8 8,412 06-12-2017, 18:00
Ostatni post: arki878
  Jak sprawdzić czy adres www znajduje sie w bazie mysql? jarekcda 8 9,035 13-05-2017, 01:02
Ostatni post: miketodson255
  Przeszukiwanie bazy, przechowywanie wyników vundo 3 4,191 02-12-2016, 20:16
Ostatni post: tereska3
  Pobieranie danych z dwóch baz danych jarekcda 2 5,189 28-11-2016, 11:55
Ostatni post: ania9

Skocz do:


Użytkownicy przeglądający ten wątek:
Sponsorzy i przyjaciele
SeoHost.pl