ooaykac
verilerini veritabanında birbirleriyle ilişkili yaparsın sonra olay şu verileri listelersin sonra listelediğin verilerle ilişkili verilerini listelersin ister ajax kullanırsın ister kullanmazsın. . .
ooaykac
verilerini veritabanında birbirleriyle ilişkili yaparsın sonra olay şu verileri listelersin sonra listelediğin verilerle ilişkili verilerini listelersin ister ajax kullanırsın ister kullanmazsın. . .
chesterx
hallettim.
paylaşım için sağol
takvim sayfasını utf-8 yapınca türkçe karakter doğru çıkıyor, ama database de sorun oluyor.
. fakat, iso-8859-9 yapınca sorun düzeliyor, bu sefer takvimde türkçe karakter oluyor
veritabanı tablolarına kadar unicode kullandım aynı charseti kullanırsan sorun yaşamazsın
birkaç gündür üzerinde çalıştığım select menu olayında bir yerde takıldım.
veritabanımda etkinlikler, bu etkinlikleri düzenlendiği mekanlar ve bu mekanların bulunduğu şehirler var. bir select menu olayı yaptım. şehirler select menu de geliyor. bunlardan birini seçince bu şehire kayıtlı olan etkinliklerin yapılacağı mekanlar geliyor. mantık bu.
3 dosyadan oluşuyor.
1-) ajax.js
2-) index.php
3-) getcities.php
index.php de select menu içinde option value içine while ile vt den çektiğim etkinlikleri şehir bazında sıralayarak gösteriyorum. getcities.php de ise gelen şehire kayıtlı mekanları alt select menude göstermeye çalışıyorum.
sorun şu:
index.php deolarak yazdım. getcities.php dePHP Kodu:<OPTION value="$city">
diyerek index.php deki şehir sorgusunu almak istiyorum ama olmuyor. case içine değişken olmuyor sanırım. yada ben bilmiyorum.PHP Kodu:case '$city' :
veya bu doğruysa getcities.php deki sorgumda şurası hatalı
bunu kaldırınca 2. select menuye tum mekanlar geliyor. sadece ilgili mekanlar gelsin istiyorum.PHP Kodu:and city = '$city'
Bunun dışında option value leri tek tek ben girersem oluyor. ama hem istediğim bu değil hem de getcities.php de de her şehir için case-break yazmak zorunda kalıyorum.
bu konuda yardımlarınızı bekliyorum:
dosyaları şağıda veriyorum.
index.php
getcities.phpPHP Kodu:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript" src="ajax.js"></script>
<script type="text/javascript">
var ajax = new Array();
function getCityList(sel)
{
var countryCode = sel.options[sel.selectedIndex].value;
document.getElementById('dhtmlgoodies_city').options.length = 0; // Empty city select box
if(countryCode.length>0){
var index = ajax.length;
ajax[index] = new sack();
ajax[index].requestFile = 'getCities.php?countryCode='+countryCode; // Specifying which file to get
ajax[index].onCompletion = function(){ createCities(index) }; // Specify function that will be executed after file has been found
ajax[index].runAJAX(); // Execute AJAX function
}
}
function createCities(index)
{
var obj = document.getElementById('dhtmlgoodies_city');
eval(ajax[index].response); // Executing the response from Ajax as Javascript code
}
function getSubCategoryList(sel)
{
var category = sel.options[sel.selectedIndex].value;
document.getElementById('dhtmlgoodies_subcategory').options.length = 0; // Empty city select box
if(category.length>0){
var index = ajax.length;
ajax[index] = new sack();
ajax[index].requestFile = 'getSubCategories.php?category='+category; // Specifying which file to get
ajax[index].onCompletion = function(){ createSubCategories(index) }; // Specify function that will be executed after file has been found
ajax[index].runAJAX(); // Execute AJAX function
}
}
function createSubCategories(index)
{
var obj = document.getElementById('dhtmlgoodies_subcategory');
eval(ajax[index].response); // Executing the response from Ajax as Javascript code
}
</script>
</head>
<body>
<?php
$baglanti = @MySql_pconnect("localhost","root","") or die("sunucuya bağlanamadı...");
@MySql_select_db("veritabani_adi", $baglanti) or die("veritabanı seçilemedi");
$sor = mysql_query("SELECT v.id, v.venue, v.alias, s.locid, v.city, COUNT(*) FROM jos_eventlist_venues AS v, jos_eventlist_events AS s WHERE v.id = s.locid and s.published = 1 and v.published = 1 GROUP BY v.city ASC");
?>
<form action="" method="post">
şehir<br>
<select id="dhtmlgoodies_country" name="dhtmlgoodies_country" onchange="getCityList(this)">
<option> - seçiniz - </option>
<?php
while ($yaz=mysql_fetch_array($sor)) {
$city=$yaz['city'];
?>
<OPTION value="$city"><?php echo $city; ?> </OPTION>
<?php } ?>
</select>
<br>mekan<br>
<select id="dhtmlgoodies_city" name="dhtmlgoodies_city">
</select>
</form>
</body>
</html>
ve ajax.js (bu standart bir kod sanırım)PHP Kodu:<?php
$baglanti = @MySql_pconnect("localhost","root","") or die("sunucuya bağlanamadı...");
@MySql_select_db("veritabani_adi", $baglanti) or die("veritabanı seçilemedi");
if(isset($_GET['countryCode'])){
switch($_GET['countryCode']){
//---------------------------------------------------------------//
case '$city' :
$sor = mysql_query("SELECT v.id, v.venue, v.alias, s.locid, v.city, COUNT(*) FROM jos_eventlist_venues AS v, jos_eventlist_events AS s WHERE v.id = s.locid and s.published = 1 and v.published = 1 and city = '$city' GROUP BY v.venue order by v.venue ASC");
while ($yaz=mysql_fetch_array($sor)) {
$venue=$yaz['venue'];
$say=$yaz['COUNT(*)'];
$city=$yaz['city'];
echo "obj.options[obj.options.length] = new Option('$venue ($say)','1');\n";
}
break;
}
}
?>
yardımınıza ihtiyacım var. büyük ihtimal sorgu ile ilgili.PHP Kodu:/* Simple AJAX Code-Kit (SACK) v1.6.1 */
/* ©2005 Gregory Wild-Smith */
/* www.twilightuniverse.com */
/* Software licenced under a modified X11 licence,
see documentation or authors website for more details */
function sack(file) {
this.xmlhttp = null;
this.resetData = function() {
this.method = "POST";
this.queryStringSeparator = "?";
this.argumentSeparator = "&";
this.URLString = "";
this.encodeURIString = true;
this.execute = false;
this.element = null;
this.elementObj = null;
this.requestFile = file;
this.vars = new Object();
this.responseStatus = new Array(2);
};
this.resetFunctions = function() {
this.onLoading = function() { };
this.onLoaded = function() { };
this.onInteractive = function() { };
this.onCompletion = function() { };
this.onError = function() { };
this.onFail = function() { };
};
this.reset = function() {
this.resetFunctions();
this.resetData();
};
this.createAJAX = function() {
try {
this.xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e1) {
try {
this.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e2) {
this.xmlhttp = null;
}
}
if (! this.xmlhttp) {
if (typeof XMLHttpRequest != "undefined") {
this.xmlhttp = new XMLHttpRequest();
} else {
this.failed = true;
}
}
};
this.setVar = function(name, value){
this.vars[name] = Array(value, false);
};
this.encVar = function(name, value, returnvars) {
if (true == returnvars) {
return Array(encodeURIComponent(name), encodeURIComponent(value));
} else {
this.vars[encodeURIComponent(name)] = Array(encodeURIComponent(value), true);
}
}
this.processURLString = function(string, encode) {
encoded = encodeURIComponent(this.argumentSeparator);
regexp = new RegExp(this.argumentSeparator + "|" + encoded);
varArray = string.split(regexp);
for (i = 0; i < varArray.length; i++){
urlVars = varArray[i].split("=");
if (true == encode){
this.encVar(urlVars[0], urlVars[1]);
} else {
this.setVar(urlVars[0], urlVars[1]);
}
}
}
this.createURLString = function(urlstring) {
if (this.encodeURIString && this.URLString.length) {
this.processURLString(this.URLString, true);
}
if (urlstring) {
if (this.URLString.length) {
this.URLString += this.argumentSeparator + urlstring;
} else {
this.URLString = urlstring;
}
}
// prevents caching of URLString
this.setVar("rndval", new Date().getTime());
urlstringtemp = new Array();
for (key in this.vars) {
if (false == this.vars[key][1] && true == this.encodeURIString) {
encoded = this.encVar(key, this.vars[key][0], true);
delete this.vars[key];
this.vars[encoded[0]] = Array(encoded[1], true);
key = encoded[0];
}
urlstringtemp[urlstringtemp.length] = key + "=" + this.vars[key][0];
}
if (urlstring){
this.URLString += this.argumentSeparator + urlstringtemp.join(this.argumentSeparator);
} else {
this.URLString += urlstringtemp.join(this.argumentSeparator);
}
}
this.runResponse = function() {
eval(this.response);
}
this.runAJAX = function(urlstring) {
if (this.failed) {
this.onFail();
} else {
this.createURLString(urlstring);
if (this.element) {
this.elementObj = document.getElementById(this.element);
}
if (this.xmlhttp) {
var self = this;
if (this.method == "GET") {
totalurlstring = this.requestFile + this.queryStringSeparator + this.URLString;
this.xmlhttp.open(this.method, totalurlstring, true);
} else {
this.xmlhttp.open(this.method, this.requestFile, true);
try {
this.xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")
} catch (e) { }
}
this.xmlhttp.onreadystatechange = function() {
switch (self.xmlhttp.readyState) {
case 1:
self.onLoading();
break;
case 2:
self.onLoaded();
break;
case 3:
self.onInteractive();
break;
case 4:
self.response = self.xmlhttp.responseText;
self.responseXML = self.xmlhttp.responseXML;
self.responseStatus[0] = self.xmlhttp.status;
self.responseStatus[1] = self.xmlhttp.statusText;
if (self.execute) {
self.runResponse();
}
if (self.elementObj) {
elemNodeName = self.elementObj.nodeName;
elemNodeName.toLowerCase();
if (elemNodeName == "input"
|| elemNodeName == "select"
|| elemNodeName == "option"
|| elemNodeName == "textarea") {
self.elementObj.value = self.response;
} else {
self.elementObj.innerHTML = self.response;
}
}
if (self.responseStatus[0] == "200") {
self.onCompletion();
} else {
self.onError();
}
self.URLString = "";
break;
}
};
this.xmlhttp.send(this.URLString);
}
}
};
this.reset();
this.createAJAX();
}
getcities.php deki sorgu bu şekilde tum mekanları getiriyor.PHP Kodu:$sor = mysql_query("SELECT v.id, v.venue, v.alias, s.locid, v.city, COUNT(*) FROM jos_eventlist_venues AS v, jos_eventlist_events AS s WHERE v.id = s.locid and s.published = 1 and v.published = 1 GROUP BY v.venue order by v.venue ASC");
yazınca sadece istanbuldakiler geliyor.Kod:and city = 'İstanbul'
yazınca hiç bişi gelmiyo.Kod:and city = $city![]()
jos_eventlist_venues tablomdan ilgili sutunlar:
Kod:id venue city 1 Maçkolik Complex İstanbul 2 Temna Bar Ankara
yardım edebilecek kimse yok mu? çok önemli benım için![]()
yardımlarınzı bekliyorum arkadaşlar. özellikle üstatların kolayca çözebileceğine inanıyorum. ama ben çıkamadım işin içinden.
There are currently 1 users browsing this thread. (0 members and 1 guests)
Bookmarks