Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Mysql zapytanie Select do dwóch tabel., zapytanie ?
przem1969
post
Post #1





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 18.08.2013

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


Witam.
Chciałbym opisac temat ,którego nie moge ugryżć . Tz zanim napisałem zrobiłem wydaje mi sie wiele w tym temacie. Próbowałem na wszytskie strony. Nie trybi tak jak chciałbym. Tz efekt nie jest zadawalający. Może ktoś mi pomoże? Otóz mam dwie tabele jedna questions która zawiera id,ques,created_on i druga news30_story w której przechowuje artykuły swojej strony .Ona zawiera id, sory, shortstory, itd . Artykuły wyswietlaja sie liniem np takim http://siatkowkaweb.pl/ramki/ramka.php?id=1204 W bazie i tabeli questions mam sondy do artykułów wpisuje je z palca o takim samym id jak id artykułu. i Myslalem ze jak porownam te id = id sondy kazda sonda trafi do artykułu mu przeznaczonego niestety tak nie jset. Plik obslugujacy sonde ma zapytanie takie SELECT id, ques FROM questions ORDER BY id LIMIT 1 oczywiscie mozna dopisac DESC czy asc myslalem ze jak zmieni zapytanie i porownam id jak wspominalem to mi sie wyswietli stan jaki chcialbym select * from news30_story s left join questions q on s.id = q.id where s.id czy tez Order By s.id . Nic z tego wyswitla sie ostatnia sonda wiec zle
napisalem sobie switcha do tego
<?
if(isset($_GET['id'])) {


$id = $_GET['id'];


}

switch($id){
case 1204:
case 1200:
case 1201:
echo include_once 'index_poll.php';
break;

case 1185:
case 1202:
echo include_once 'index_chemik.php';
break ;

case 1191: case 1193:
echo include_once 'index_LM.php';
break ;
case 1207:
echo include_once 'index_Skra.php';
break ;
}
?>

Zeby zaczytało sobie do zmiennej id i wyswietliło odpowiednie z bazy questions do danego artykulu . Niestety . Próbowałem z Joinem i Joinem left nic z tego co jest zle. Przepraszam nie mam sie do kogo zwrocic wiec ogólnie pytam ?
Cos tam wiem ale nie ma sie czym chwalic .Bo wymiekam przy tym Gdzies podejrzewanm drobny błąd mi sie wkrada jakas błachostka myslę . Jeśli moge prosic o pmoc ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
przem1969
post
Post #2





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 18.08.2013

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


  1. <?php
  2. //Update database information according to your server settings
  3. $conn=mysql_connect('localhost', '...', '...') or die("Can't connect to mysql host");
  4. //Select the database to use
  5. mysql_query("SET CHARSET utf8"); // polskie znaki
  6. mysql_select_db('xxxxxxxxxx') or die("Can't connect to DB");
  7. if(!$_POST['poll'] || !$_POST['pollid']){
  8. $query=mysql_query("SELECT id, ques FROM questions ORDER BY id LIMIT 1");
  9.  
  10.  
  11.  
  12.  
  13.  
  14. while($row=mysql_fetch_assoc($query)){
  15. //display question
  16. echo "<font size=\"+2\"><p class=\"pollques\" style=\"padding:5px\">".$row['ques']."</p></font>";
  17. $poll_id=$row['id'];
  18. }
  19. if($_GET["result"]==1 || $_COOKIE["voted".$poll_id]=='yes'){
  20. //if already voted or asked for result
  21. showresults($poll_id);
  22. }
  23. else{
  24. //display options with radio buttons
  25. $query=mysql_query("SELECT id, value FROM options WHERE ques_id=$poll_id");
  26. if(mysql_num_rows($query)){
  27. echo '<div id="formcontainer" style="width:660px;margin-left:0px" ><form method="post" id="pollform" action="'.$_SERVER['PHP_SELF'].'" >';
  28. echo '<p><input type="hidden" name="pollid" value="'.$poll_id.'" /><br/>';
  29. while($row=mysql_fetch_assoc($query)){
  30. echo '<div style="background:#059419;border:#ccc solid 2px;padding:5px"> <input class="bar1" style="float:left;font-size:15px;color:#ccc;width:200px;height:25px;padding:0px;opacity:0.4" type="radio" name="poll" value="'.$row['id'].'" id="option-'.$row['id'].'" />
  31. <label style="margin-top:20px;font-size:25px;font-family:Helvetica;" for="option-'.$row['id'].'" >'.$row['value'].'</label></p></div><br/>';
  32. }
  33. echo '<div class="yourvote" style="width:630px;height:30px;border:red solid 2px;margin-top:20px;padding:10px;font-size:20px;font-family:Helvetica;margin-left:2px"><center>Zogłosuj i zobacz wyniki</center><input style="width:640px;height:65px;opacity:0;margin-top:-70px" type="submit" value="" /></div></form>';
  34. echo '<br/><center><p><font color="#ccc" size="+0px"> <em>Musisz oddać głos żeby zobaczyć wyniki sondy.</em></font></p></centar></div>';
  35. }
  36. }
  37. }
  38. else{
  39. if($_COOKIE["voted".$_POST['pollid']]!='yes'){
  40.  
  41. //Check if selected option value is there in database?
  42. $query=mysql_query("SELECT * FROM options WHERE id='".intval($_POST["poll"])."'");
  43. if(mysql_num_rows($query)){
  44. $query="INSERT INTO votes(option_id, voted_on, ip) VALUES('".$_POST["poll"]."', '".date('Y-m-d H:i:s')."', '".$_SERVER['REMOTE_ADDR']."')";
  45. if(mysql_query($query))
  46. {
  47. //Vote added to database
  48. setcookie("voted".$_POST['pollid'], 'yes', time()+86400*300);
  49. }
  50. else
  51. echo "There was some error processing the query: ".mysql_error();
  52. }
  53. }
  54. showresults(intval($_POST['pollid']));
  55. }
  56. function showresults($poll_id){
  57. global $conn;
  58. $query=mysql_query("SELECT COUNT(*) as totalvotes FROM votes WHERE option_id IN(SELECT id FROM options WHERE ques_id='$poll_id')");
  59. while($row=mysql_fetch_assoc($query))
  60. $total=$row['totalvotes'];
  61. $query=mysql_query("SELECT options.id, options.value, COUNT(*) as votes FROM votes, options WHERE votes.option_id=options.id AND votes.option_id IN(SELECT id FROM options WHERE ques_id='$poll_id') GROUP BY votes.option_id");
  62. while($row=mysql_fetch_assoc($query)){
  63. $percent=round(($row['votes']*100)/$total);
  64. echo '<br/><div class="option" style="font-size:15px;color:#ccc;margin-top:-5px;margin-left:0px" ><p style="margin-left:15px">'.$row['value'].' (<em>'.$percent.'%, '.$row['votes'].' głosów</em>)</p>';
  65. echo '<div class="bar1 ';
  66. if($_POST['poll']==$row['id']) echo ' yourvote';
  67. echo '" style="width: '.$percent.'%;margin-left:2px;margin-top:5px;width:97% " ></div></div><br/>';
  68. }
  69. echo '<br/><p style="float:right;margin-top:-17px;margin-right:10px"><font style="font-size:17px;color:#f6f6f6">Ilość oddanych głosów: '.$total.'</font>'.'</p>';
  70. }
  71. ?>

To jest plik sondy ---wyswietla wszytskie sondy jest ich w bazie 5 chyba

To jest plik wyswietlajacy artykul tz php tego pliku . Nie bede tu sciezek wstawial css i htmla .

  1. <?php
  2.  
  3. if(isset($_GET['id'])) {
  4.  
  5.  
  6. $id = $_GET['id'];
  7.  
  8.  
  9. }
  10.  
  11. switch($id){
  12. case 1204:
  13. case 1200:
  14. case 1201:
  15. echo include_once 'index_poll.php';
  16. break;
  17.  
  18. case 1185:
  19. case 1202:
  20. echo include_once 'index_chemik.php';
  21. break ;
  22.  
  23. case 1191: case 1193:
  24. echo include_once 'index_LM.php';
  25. break ;
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32. case 1207:
  33. echo include_once 'index_Skra.php';
  34. break ;
  35. }
  36.  
  37. ?>


-------------------------------------------

próbowałem do pliku sondy wstawic zapytanie takie :

select * from news30_story s left join questions q on s.id = q.id where s.id = {Twoj id};


próbowałem tez

select * from news30_story s left join questions q on s.id = q.id order by s.id

nie trybi.

Niby proste ;


pojawia sie artykul ktore dodaje systemem newsow . ta sonada pojawia sie poza systemem bo on nie czyta php .

czyli jakis artykul np.
http://siatkowkaweb.pl/ramki/ramka.php?id=1200


ma w sobie sonde z innym id ktory powinien miec ! bo powinnna wyswietlic sie sonda z id=1200
a wyswietla sie pierwsza wpisana . chyba wszytsko opisalem
To jest pewnie cos prostego ale naogół te najprstsze sprawiaja mi najwieksze problemy .

Ten post edytował przem1969 21.02.2014, 13:26:23
Go to the top of the page
+Quote Post

Posty w temacie


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: 14.10.2025 - 06:08